[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model ...
Robert Stryker
rawblem at gmail.com
Thu Nov 9 23:28:01 EST 2006
User: rawb
Date: 06/11/09 23:28:01
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model
ModuleModel.java
Log:
Added xml module factory
Revision Changes Path
1.6 +39 -37 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model/ModuleModel.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ModuleModel.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/model/ModuleModel.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- ModuleModel.java 10 Nov 2006 00:26:25 -0000 1.5
+++ ModuleModel.java 10 Nov 2006 04:28:01 -0000 1.6
@@ -51,18 +51,23 @@
public class ModuleModel implements IResourceChangeListener{
private static ModuleModel singleton;
- private ArrayList factories;
+ private static ArrayList factories;
public static ModuleModel getDefault() {
if( singleton == null ) {
singleton = new ModuleModel();
}
-
-
return singleton;
}
- private ModuleModel() {
+ public static ModuleFactory[] getJBossModuleFactories() {
+ if( factories == null )
+ loadAcceptableFactories();
+ return (ModuleFactory[]) factories.toArray(new ModuleFactory[factories.size()]);
+ }
+
+ private static void loadAcceptableFactories() {
+
Comparator factoryComparator = new Comparator() {
public int compare(Object arg0, Object arg1) {
if( arg0 instanceof ModuleFactory && !(arg1 instanceof ModuleFactory))
@@ -89,27 +94,38 @@
}
};
factories = new ArrayList();
- loadAcceptableFactories();
- Collections.sort(factories, factoryComparator);
- ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE );
- init();
- }
- private void loadAcceptableFactories() {
- ModuleFactory[] factories = ServerPlugin.getModuleFactories();
+ ModuleFactory[] mfs = ServerPlugin.getModuleFactories();
String[] jbossIds = loadJBossFactoryIDs();
- for( int i = 0; i < factories.length; i++ ) {
+ for( int i = 0; i < mfs.length; i++ ) {
for( int j = 0; j < jbossIds.length; j++ ) {
- if( jbossIds[j].equals(factories[i].getId()) ) {
- this.factories.add(factories[i]);
+ if( jbossIds[j].equals(mfs[i].getId()) ) {
+ factories.add(mfs[i]);
}
}
}
+
+ Collections.sort(factories, factoryComparator);
+
+ Iterator i = factories.iterator();
+ ModuleFactory f = null;
+ ModuleFactoryDelegate delegate = null;
+
+ while(i.hasNext()) {
+ f = (ModuleFactory)i.next();
+ delegate = f.getDelegate(null);
+ if( delegate instanceof JBossModuleFactory ) {
+ ((JBossModuleFactory)delegate).initialize();
+ } else {
+ factories.remove(f);
+ }
}
- private String[] loadJBossFactoryIDs() {
+ }
+
+ private static String[] loadJBossFactoryIDs() {
IExtensionRegistry registry = Platform.getExtensionRegistry();
IConfigurationElement[] cf = registry.getConfigurationElementsFor(JBossServerCorePlugin.PLUGIN_ID, "jbossModuleFactory");
@@ -127,28 +143,14 @@
}
- /**
- * At the end of this method, all JBossModuleFactories should
- * be created, and have a basic initialization done.
- *
- */
- private void init() {
- Iterator i = this.factories.iterator();
- ModuleFactory f = null;
- ModuleFactoryDelegate delegate = null;
- while(i.hasNext()) {
- f = (ModuleFactory)i.next();
- delegate = f.getDelegate(null);
- if( delegate instanceof JBossModuleFactory ) {
- ((JBossModuleFactory)delegate).initialize();
- } else {
- this.factories.remove(f);
- }
- }
+
+ private ModuleModel() {
+ ResourcesPlugin.getWorkspace().addResourceChangeListener(this, IResourceChangeEvent.POST_CHANGE );
}
+
/**
* Gets the first module found for a resource.
* Checks the factories in order of their precedence.
More information about the jboss-cvs-commits
mailing list