forked from consulo/consulo-spring
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSpringOsgiApplicationComponent.java
More file actions
73 lines (56 loc) · 2.86 KB
/
Copy pathSpringOsgiApplicationComponent.java
File metadata and controls
73 lines (56 loc) · 2.86 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
package com.intellij.spring.osgi.model;
import com.intellij.codeInspection.InspectionToolProvider;
import com.intellij.openapi.Disposable;
import com.intellij.openapi.components.ApplicationComponent;
import consulo.disposer.Disposer;
import com.intellij.spring.SpringDomFileDescription;
import com.intellij.spring.factories.SpringFactoryBeansManager;
import com.intellij.spring.factories.resolvers.SingleObjectTypeResolver;
import com.intellij.spring.osgi.constants.SpringOsgiConstants;
import com.intellij.spring.osgi.inspections.SpringOsgiElementsInconsistencyInspection;
import com.intellij.spring.osgi.inspections.SpringOsgiServiceCommonInspection;
import com.intellij.spring.osgi.inspections.SpringOsgiListenerInspection;
import com.intellij.spring.osgi.model.xml.*;
import com.intellij.spring.osgi.model.xml.impl.*;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
public class SpringOsgiApplicationComponent implements ApplicationComponent, InspectionToolProvider, Disposable {
@NonNls
@NotNull
public String getComponentName() {
return getClass().getName();
}
public void initComponent() {
registerDomFileDescriptionComponents();
registerMetaData();
registerPresentations();
registerRenameValidators();
SpringFactoryBeansManager.getInstance().registerFactory(SpringOsgiConstants.OSGI_SERVICE_FACTORY_BEAN_CLASSNAME, new SingleObjectTypeResolver(SpringOsgiConstants.OSGI_SERVICE_REGISTRATION_CLASSNAME));
}
private static void registerDomFileDescriptionComponents() {
final SpringDomFileDescription springDomFileDescription = SpringDomFileDescription.getInstance();
springDomFileDescription.registerNamespacePolicy(SpringOsgiConstants.OSGI_NAMESPACE_KEY, SpringOsgiConstants.OSGI_NAMESPACE);
springDomFileDescription.registerNamespacePolicy(SpringOsgiConstants.OSGI_COMPENDIUM_NAMESPACE_KEY, SpringOsgiConstants.OSGI_COMPENDIUM_NAMESPACE);
springDomFileDescription.registerImplementation(Interfaces.class, InterfacesImpl.class);
springDomFileDescription.registerImplementation(Service.class, ServiceImpl.class);
springDomFileDescription.registerImplementation(Reference.class, ReferenceImpl.class);
springDomFileDescription.registerImplementation(List.class, ListImpl.class);
springDomFileDescription.registerImplementation(Set.class, SetImpl.class);
springDomFileDescription.registerImplementation(Bundle.class, BundleImpl.class);
}
private static void registerMetaData() {
}
private static void registerPresentations() {
}
private static void registerRenameValidators() {
}
public void dispose() {
}
public void disposeComponent() {
Disposer.dispose(this);
}
public Class[] getInspectionClasses() {
return new Class[]{SpringOsgiElementsInconsistencyInspection.class, SpringOsgiServiceCommonInspection.class,
SpringOsgiListenerInspection.class};
}
}