[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