geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jarek Gawor <jga...@gmail.com>
Subject Re: svn commit: r887507 - in /geronimo/server/trunk/plugins: aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/ client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/ connector-1_6/geronimo-connect
Date Mon, 07 Dec 2009 04:59:34 GMT
David,

As to Aries application stuff I actually reached the same conclusion
that I really wanted a ConfigBuilder instead of ModuleBuilder. I
already updated that code.

As to the priority stuff in ModuleBuilders I guess I didn't go far
enough. I added the flexibility of changing the ordering but I didn't
expose that as a configuration option all the builders. I thought if
somebody really wanted to change the order they would add that little
bit of extra code needed. Anyway, for now I reverted this entire
change. I might add it back it in the future but first I'll make sure
the priority configuration option is exposed to all the builders.

Jarek

On Sat, Dec 5, 2009 at 3:02 AM, David Jencks <david_jencks@yahoo.com> wrote:
> I'm not thrilled with this change.  I think the immediate reason for the
> change was to get an AriesModuleBuilder in, but I think that should be a
> ConfigBuilder rather than a ModuleBuilder -- AFAICT an aries app would be
> something like an ear, not a module in an ear.
>
> I think the part I don't really like is the hardcoding of the ordering in
> numbers in the module builders.  I'd prefer to just be able to have an
> ordered list in the ear config builder configuration that specified the
> order, but we don't support that.  How about if we set the priority as a
> gbean attribute in the module builder configuration?
>
> I realize this must seem a bit silly since we are going from one very
> hardcoded ordering to another more flexiible hardcoded ordering, but if we
> are going to be doing sorting of MBs I'd like to make it more configurable.
>
> WDYT?
>
> thanks
> david jencks
>
> On Dec 4, 2009, at 10:24 PM, gawor@apache.org wrote:
>
>> Author: gawor
>> Date: Sat Dec  5 06:24:26 2009
>> New Revision: 887507
>>
>> URL: http://svn.apache.org/viewvc?rev=887507&view=rev
>> Log:
>> GERONIMO-4975: Simplify integrating new ModuleBuilders with
>> EARConfigBuilder
>>
>> Removed:
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/UnavailableModuleBuilder.java
>> Modified:
>>
>> geronimo/server/trunk/plugins/aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/AriesAppModuleBuilder.java
>>
>> geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
>>
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
>>
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ModuleBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTestSupport.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockConnectorConfigBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockEJBConfigBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockWARConfigBuilder.java
>>
>> geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java
>>   geronimo/server/trunk/plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml
>>
>> geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
>>
>> Modified:
>> geronimo/server/trunk/plugins/aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/AriesAppModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/AriesAppModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/AriesAppModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/aries/geronimo-aries-builder/src/main/java/org/apache/geronimo/aries/builder/AriesAppModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -216,4 +216,11 @@
>>        return null;
>>    }
>>
>> +    public int getPriority() {
>> +        return 50;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return AriesAppModule.class.isAssignableFrom(moduleType);
>> +    }
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/client/geronimo-client-builder/src/main/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -839,6 +839,14 @@
>>        return GERAPPCLIENT_NAMESPACE;
>>    }
>>
>> +    public int getPriority() {
>> +        return 40;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return AppClientModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>>    public void addManifestClassPath(DeploymentContext deploymentContext,
>> JarFile earFile, JarFile jarFile, URI jarFileLocation) throws
>> DeploymentException {
>>        Manifest manifest;
>>        try {
>>
>> Modified:
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/main/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -536,6 +536,14 @@
>>        return GERCONNECTOR_NAMESPACE;
>>    }
>>
>> +    public int getPriority() {
>> +        return 30;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return ConnectorModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>>    private void addConnectorGBeans(EARContext earContext, AbstractName
>> jcaResourceName, GBeanData resourceAdapterModuleData, ConnectorType
>> connector, GerConnectorType geronimoConnector, Bundle bundle) throws
>> DeploymentException {
>>        ResourceadapterType resourceadapter =
>> connector.getResourceadapter();
>>
>>
>> Modified:
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/connector-1_6/geronimo-connector-builder-1_6/src/test/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
>> Sat Dec  5 06:24:26 2009
>> @@ -22,6 +22,7 @@
>> import java.net.URL;
>> import java.sql.Connection;
>> import java.sql.Statement;
>> +import java.util.ArrayList;
>> import java.util.Collections;
>> import java.util.List;
>> import java.util.Map;
>> @@ -29,7 +30,6 @@
>> import java.util.HashMap;
>> import java.util.jar.JarFile;
>>
>> -import javax.naming.Reference;
>> import javax.sql.DataSource;
>> import org.apache.geronimo.common.DeploymentException;
>> import org.apache.geronimo.deployment.DeploymentContext;
>> @@ -41,7 +41,6 @@
>> import org.apache.geronimo.gbean.AbstractNameQuery;
>> import org.apache.geronimo.gbean.GBeanData;
>> import org.apache.geronimo.gbean.GBeanInfo;
>> -import org.apache.geronimo.j2ee.deployment.ActivationSpecInfoLocator;
>> import org.apache.geronimo.j2ee.deployment.EARConfigBuilder;
>> import org.apache.geronimo.j2ee.deployment.EARContext;
>> import org.apache.geronimo.j2ee.deployment.Module;
>> @@ -90,22 +89,6 @@
>>    private Environment defaultEnvironment;
>>    private ConfigurationStore configurationStore = new MockConfigStore();
>>    private MockRepository repository;
>> -
>> -    private ActivationSpecInfoLocator activationSpecInfoLocator = new
>> ActivationSpecInfoLocator() {
>> -
>> -        public Reference createResourceRef(AbstractNameQuery containerId,
>> Class iface, Configuration configuration) {
>> -            return null;
>> -        }
>> -
>> -        public Reference createAdminObjectRef(AbstractNameQuery
>> containerId, Class iface, Configuration configuration) {
>> -            return null;
>> -        }
>> -
>> -        public GBeanData locateActivationSpecInfo(AbstractNameQuery
>> nameQuery, String messageListenerInterface, Configuration configuration) {
>> -            return null;
>> -        }
>> -    };
>> -
>>    private Kernel kernel;
>>    private ConfigurationManager configurationManager;
>>    private static final Naming naming = new Jsr77Naming();
>> @@ -122,17 +105,15 @@
>>            rarFile = DeploymentUtil.createJarFile(new File(BASEDIR,
>> "target/test-ear-noger.ear"));
>>            GBeanBuilder serviceBuilder = new GBeanBuilder(null, null);
>> //            EARConfigBuilder configBuilder = new
>> EARConfigBuilder(defaultEnvironment, transactionContextManagerName,
>> connectionTrackerName, null, null, null, new AbstractNameQuery(serverName,
>> J2EEServerImpl.GBEAN_INFO.getInterfaces()), null, null, ejbReferenceBuilder,
>> null,
>> +            List<ModuleBuilder> builders = new
>> ArrayList<ModuleBuilder>();
>> +            builders.add(new ConnectorModuleBuilder(defaultEnvironment,
>> defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds,
>> defaultidleTimeoutMinutes, defaultXATransactionCaching,
>> defaultXAThreadCaching, defaultWorkManagerName,
>> Collections.<NamespaceDrivenBuilder>singleton(serviceBuilder)));
>>            EARConfigBuilder configBuilder = new
>> EARConfigBuilder(defaultEnvironment,
>>                    transactionManagerName,
>>                    connectionTrackerName,
>>                    null,
>>                    new AbstractNameQuery(serverName,
>> J2EEServerImpl.GBEAN_INFO.getInterfaces()),
>>                    Collections.singleton(repository),
>> -                    null,
>> -                    null,
>> -                    new ConnectorModuleBuilder(defaultEnvironment,
>> defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds,
>> defaultidleTimeoutMinutes, defaultXATransactionCaching,
>> defaultXAThreadCaching, defaultWorkManagerName,
>> Collections.<NamespaceDrivenBuilder>singleton(serviceBuilder)),
>> -                    activationSpecInfoLocator,
>> -                    null,
>> +                    builders,
>>                    serviceBuilder,
>>                    null,
>>                    kernel.getNaming(),
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -24,6 +24,7 @@
>> import java.util.ArrayList;
>> import java.util.Collection;
>> import java.util.Collections;
>> +import java.util.Comparator;
>> import java.util.Enumeration;
>> import java.util.HashMap;
>> import java.util.HashSet;
>> @@ -60,7 +61,6 @@
>> import org.apache.geronimo.gbean.GBeanData;
>> import org.apache.geronimo.gbean.GBeanLifecycle;
>> import org.apache.geronimo.gbean.ReferencePatterns;
>> -import org.apache.geronimo.gbean.SingleElementCollection;
>> import org.apache.geronimo.gbean.annotation.GBean;
>> import org.apache.geronimo.gbean.annotation.ParamAttribute;
>> import org.apache.geronimo.gbean.annotation.ParamReference;
>> @@ -123,11 +123,7 @@
>>
>>    private final ConfigurationManager configurationManager;
>>    private final Collection<? extends Repository> repositories;
>> -    private final SingleElementCollection ejbConfigBuilder;
>> -    private final SingleElementCollection webConfigBuilder;
>> -    private final SingleElementCollection connectorConfigBuilder;
>> -    private final SingleElementCollection appClientConfigBuilder;
>> -    private final SingleElementCollection resourceReferenceBuilder;
>> +    private final Collection<ModuleBuilder> moduleBuilders;
>>    private final NamespaceDrivenBuilderCollection serviceBuilders;
>>    private final Collection<ModuleBuilderExtension>
>> persistenceUnitBuilders;
>>
>> @@ -154,57 +150,13 @@
>>        }
>>    };
>>
>> -//    static {
>> -//        GBeanInfoBuilder infoBuilder =
>> GBeanInfoBuilder.createStatic(EARConfigBuilder.class,
>> NameFactory.CONFIG_BUILDER);
>> -//        infoBuilder.addAttribute("defaultEnvironment",
>> Environment.class, true, true);
>> -//        infoBuilder.addAttribute("transactionManagerAbstractName",
>> AbstractNameQuery.class, true);
>> -//        infoBuilder.addAttribute("connectionTrackerAbstractName",
>> AbstractNameQuery.class, true);
>> -//        infoBuilder.addAttribute("corbaGBeanAbstractName",
>> AbstractNameQuery.class, true);
>> -//        infoBuilder.addAttribute("serverName", AbstractNameQuery.class,
>> true);
>> -//
>> -//        infoBuilder.addReference("Repositories", Repository.class,
>> "Repository");
>> -//        infoBuilder.addReference("EJBConfigBuilder",
>> ModuleBuilder.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("WebConfigBuilder",
>> ModuleBuilder.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("ConnectorConfigBuilder",
>> ModuleBuilder.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("ActivationSpecInfoLocator",
>> ActivationSpecInfoLocator.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("AppClientConfigBuilder",
>> ModuleBuilder.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("ServiceBuilders",
>> NamespaceDrivenBuilder.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("PersistenceUnitBuilders",
>> ModuleBuilderExtension.class, NameFactory.MODULE_BUILDER);
>> -//        infoBuilder.addReference("ArtifactResolvers",
>> ArtifactResolver.class, "ArtifactResolver");
>> -//
>> -//        infoBuilder.addAttribute("kernel", Kernel.class, false);
>> -//
>> -//        infoBuilder.setConstructor(new String[]{
>> -//                "defaultEnvironment",
>> -//                "transactionManagerAbstractName",
>> -//                "connectionTrackerAbstractName",
>> -//                "corbaGBeanAbstractName",
>> -//                "serverName",
>> -//                "Repositories",
>> -//                "EJBConfigBuilder",
>> -//                "WebConfigBuilder",
>> -//                "ConnectorConfigBuilder",
>> -//                "ActivationSpecInfoLocator",
>> -//                "AppClientConfigBuilder",
>> -//                "ServiceBuilders",
>> -//                "PersistenceUnitBuilders",
>> -//                "ArtifactResolvers",
>> -//                "kernel"
>> -//        });
>> -//
>> -//    }
>> -
>>    public EARConfigBuilder(@ParamAttribute(name = "defaultEnvironment")
>> Environment defaultEnvironment,
>>                            @ParamAttribute(name =
>> "transactionManagerAbstractName") AbstractNameQuery
>> transactionManagerAbstractName,
>>                            @ParamAttribute(name =
>> "connectionTrackerAbstractName") AbstractNameQuery
>> connectionTrackerAbstractName,
>>                            @ParamAttribute(name =
>> "corbaGBeanAbstractName") AbstractNameQuery corbaGBeanAbstractName,
>>                            @ParamAttribute(name = "serverName")
>> AbstractNameQuery serverName,
>>                            @ParamReference(name = "Repositories",
>> namingType = "Repository")Collection<? extends Repository> repositories,
>> -                            @ParamReference(name = "EJBConfigBuilder",
>> namingType = NameFactory.MODULE_BUILDER)Collection<ModuleBuilder>
>> ejbConfigBuilder,
>> -                            @ParamReference(name = "WebConfigBuilder",
>> namingType = NameFactory.MODULE_BUILDER)Collection<ModuleBuilder>
>> webConfigBuilder,
>> -                            @ParamReference(name =
>> "ConnectorConfigBuilder", namingType =
>> NameFactory.MODULE_BUILDER)Collection<ModuleBuilder> connectorConfigBuilder,
>> -                            @ParamReference(name =
>> "ActivationSpecInfoLocator", namingType =
>> NameFactory.MODULE_BUILDER)Collection<ModuleBuilder>
>> resourceReferenceBuilder,
>> -                            @ParamReference(name =
>> "AppClientConfigBuilder", namingType =
>> NameFactory.MODULE_BUILDER)Collection<ModuleBuilder> appClientConfigBuilder,
>> +                            @ParamReference(name = "ModuleBuilders",
>> namingType = NameFactory.MODULE_BUILDER)Collection<ModuleBuilder>
>> moduleBuilders,
>>                            @ParamReference(name = "ServiceBuilders",
>> namingType = NameFactory.MODULE_BUILDER)Collection<NamespaceDrivenBuilder>
>> serviceBuilders,
>>                            @ParamReference(name =
>> "PersistenceUnitBuilders", namingType =
>> NameFactory.MODULE_BUILDER)Collection<ModuleBuilderExtension>
>> persistenceUnitBuilders,
>>                            @ParamReference(name = "ArtifactResolvers",
>> namingType = "ArtifactResolver")Collection<? extends ArtifactResolver>
>> artifactResolvers,
>> @@ -217,11 +169,7 @@
>>                serverName,
>>                ConfigurationUtil.getConfigurationManager(kernel),
>>                repositories,
>> -                new
>> SingleElementCollection<ModuleBuilder>(ejbConfigBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(webConfigBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(connectorConfigBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(resourceReferenceBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(appClientConfigBuilder),
>> +                moduleBuilders,
>>                serviceBuilders,
>>                persistenceUnitBuilders,
>>                kernel.getNaming(), artifactResolvers,
>> @@ -234,11 +182,7 @@
>>                            AbstractNameQuery corbaGBeanAbstractName,
>>                            AbstractNameQuery serverName,
>>                            Collection<? extends Repository> repositories,
>> -                            ModuleBuilder ejbConfigBuilder,
>> -                            ModuleBuilder webConfigBuilder,
>> -                            ModuleBuilder connectorConfigBuilder,
>> -                            ActivationSpecInfoLocator
>> activationSpecInfoLocator,
>> -                            ModuleBuilder appClientConfigBuilder,
>> +                            Collection<ModuleBuilder> moduleBuilders,
>>                            NamespaceDrivenBuilder serviceBuilder,
>>                            ModuleBuilderExtension persistenceUnitBuilder,
>>                            Naming naming,
>> @@ -250,11 +194,7 @@
>>                serverName,
>>                null,
>>                repositories,
>> -                new
>> SingleElementCollection<ModuleBuilder>(ejbConfigBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(webConfigBuilder),
>> -                new
>> SingleElementCollection<ModuleBuilder>(connectorConfigBuilder),
>> -                new
>> SingleElementCollection<ActivationSpecInfoLocator>(activationSpecInfoLocator),
>> -                new
>> SingleElementCollection<ModuleBuilder>(appClientConfigBuilder),
>> +                moduleBuilders,
>>                serviceBuilder == null ?
>> Collections.<NamespaceDrivenBuilder>emptySet() :
>> Collections.singleton(serviceBuilder),
>>                persistenceUnitBuilder == null ?
>> Collections.<ModuleBuilderExtension>emptySet() :
>> Collections.singleton(persistenceUnitBuilder),
>>                naming,
>> @@ -269,11 +209,7 @@
>>                             AbstractNameQuery serverName,
>>                             ConfigurationManager configurationManager,
>>                             Collection<? extends Repository> repositories,
>> -                             SingleElementCollection ejbConfigBuilder,
>> -                             SingleElementCollection webConfigBuilder,
>> -                             SingleElementCollection
>> connectorConfigBuilder,
>> -                             SingleElementCollection
>> resourceReferenceBuilder,
>> -                             SingleElementCollection
>> appClientConfigBuilder,
>> +                             Collection<ModuleBuilder> moduleBuilders,
>>                             Collection<NamespaceDrivenBuilder>
>> serviceBuilders,
>>                             Collection<ModuleBuilderExtension>
>> persistenceUnitBuilders,
>>                             Naming naming,
>> @@ -283,11 +219,7 @@
>>        this.repositories = repositories;
>>        this.defaultEnvironment = defaultEnvironment;
>>
>> -        this.ejbConfigBuilder = ejbConfigBuilder;
>> -        this.resourceReferenceBuilder = resourceReferenceBuilder;
>> -        this.webConfigBuilder = webConfigBuilder;
>> -        this.connectorConfigBuilder = connectorConfigBuilder;
>> -        this.appClientConfigBuilder = appClientConfigBuilder;
>> +        this.moduleBuilders = moduleBuilders;
>>        this.serviceBuilders = new
>> NamespaceDrivenBuilderCollection(serviceBuilders);
>>        this.persistenceUnitBuilders = persistenceUnitBuilders;
>>
>> @@ -315,21 +247,21 @@
>>    public AbstractNameQuery getCorbaGBeanName() {
>>        return corbaGBeanObjectName;
>>    }
>> -
>> +
>>    private ModuleBuilder getEjbConfigBuilder() {
>> -        return (ModuleBuilder) ejbConfigBuilder.getElement();
>> +        return getModuleBuilder(EJBModule.class);
>>    }
>> -
>> +
>>    private ModuleBuilder getWebConfigBuilder() {
>> -        return (ModuleBuilder) webConfigBuilder.getElement();
>> +        return getModuleBuilder(WebModule.class);
>>    }
>> -
>> +
>>    private ModuleBuilder getConnectorConfigBuilder() {
>> -        return (ModuleBuilder) connectorConfigBuilder.getElement();
>> +        return getModuleBuilder(ConnectorModule.class);
>>    }
>> -
>> +
>>    private ModuleBuilder getAppClientConfigBuilder() {
>> -        return (ModuleBuilder) appClientConfigBuilder.getElement();
>> +        return getModuleBuilder(AppClientModule.class);
>>    }
>>
>>    public Object getDeploymentPlan(File planFile, JarFile jarFile,
>> ModuleIDBuilder idBuilder) throws DeploymentException {
>> @@ -347,18 +279,13 @@
>>
>>        // get the modules either the application plan or for a stand alone
>> module from the specific deployer
>>        Module module = null;
>> -        if (getWebConfigBuilder() != null) {
>> -            module = getWebConfigBuilder().createModule(planFile,
>> jarFile, naming, idBuilder);
>> -        }
>> -        if (module == null && getEjbConfigBuilder() != null) {
>> -            module = getEjbConfigBuilder().createModule(planFile,
>> jarFile, naming, idBuilder);
>> -        }
>> -        if (module == null && getConnectorConfigBuilder() != null) {
>> -            module = getConnectorConfigBuilder().createModule(planFile,
>> jarFile, naming, idBuilder);
>> -        }
>> -        if (module == null && getAppClientConfigBuilder() != null) {
>> -            module = getAppClientConfigBuilder().createModule(planFile,
>> jarFile, naming, idBuilder);
>> +        for (ModuleBuilder moduleBuilder : getSortedModuleBuilders()) {
>> +            module = moduleBuilder.createModule(planFile, jarFile,
>> naming, idBuilder);
>> +            if (module != null) {
>> +                break;
>> +            }
>>        }
>> +
>>        if (module == null) {
>>            return null;
>>        }
>> @@ -1136,29 +1063,45 @@
>>        return null;
>>    }
>>
>> +    private List<ModuleBuilder> getSortedModuleBuilders() {
>> +        List<ModuleBuilder> list = new
>> ArrayList<ModuleBuilder>(moduleBuilders);
>> +        Collections.sort(list, new ModuleBuilderComparator());
>> +        return list;
>> +    }
>> +
>> +    private static class ModuleBuilderComparator implements
>> Comparator<ModuleBuilder> {
>> +        public int compare(ModuleBuilder o1, ModuleBuilder o2) {
>> +            return o1.getPriority() - o2.getPriority();
>> +        }
>> +    }
>> +
>> +    private ModuleBuilder getModuleBuilder(Class module) {
>> +        for (ModuleBuilder builder : moduleBuilders) {
>> +            if (builder.supportsModule(module)) {
>> +                return builder;
>> +            }
>> +        }
>> +        return null;
>> +    }
>> +
>>    private ModuleBuilder getBuilder(Module module) throws
>> DeploymentException {
>> -        if (module instanceof EJBModule) {
>> -            if (getEjbConfigBuilder() == null) {
>> +        ModuleBuilder builder = getModuleBuilder(module.getClass());
>> +
>> +        if (builder == null) {
>> +            if (module instanceof EJBModule) {
>>                throw new DeploymentException("Cannot deploy ejb
>> application; No ejb deployer defined: " + module.getModuleURI());
>> -            }
>> -            return getEjbConfigBuilder();
>> -        } else if (module instanceof WebModule) {
>> -            if (getWebConfigBuilder() == null) {
>> +            } else if (module instanceof WebModule) {
>>                throw new DeploymentException("Cannot deploy web
>> application; No war deployer defined: " + module.getModuleURI());
>> -            }
>> -            return getWebConfigBuilder();
>> -        } else if (module instanceof ConnectorModule) {
>> -            if (getConnectorConfigBuilder() == null) {
>> +            } else if (module instanceof ConnectorModule) {
>>                throw new DeploymentException("Cannot deploy resource
>> adapter; No rar deployer defined: " + module.getModuleURI());
>> -            }
>> -            return getConnectorConfigBuilder();
>> -        } else if (module instanceof AppClientModule) {
>> -            if (getAppClientConfigBuilder() == null) {
>> +            } else if (module instanceof AppClientModule) {
>>                throw new DeploymentException("Cannot deploy app client; No
>> app client deployer defined: " + module.getModuleURI());
>> +            } else {
>> +                throw new DeploymentException("Cannot deploy application;
>> No deployer for module: " + module.getModuleURI());
>>            }
>> -            return getAppClientConfigBuilder();
>> -        }
>> -        throw new IllegalArgumentException("Unknown module type: " +
>> module.getClass().getName());
>> +        }
>> +
>> +        return builder;
>>    }
>>
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/ModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -33,6 +33,9 @@
>>  * @version $Rev:386276 $ $Date$
>>  */
>> public interface ModuleBuilder {
>> +
>> +    int NORMAL_PRIORITY = 50;
>> +
>>    Module createModule(File plan, JarFile moduleFile, Naming naming,
>> ModuleIDBuilder idBuilder) throws DeploymentException;
>>
>>    Module createModule(Object plan, JarFile moduleFile, String targetPath,
>> URL specDDUrl, Environment environment, Object moduleContextInfo,
>> AbstractName earName, Naming naming, ModuleIDBuilder idBuilder) throws
>> DeploymentException;
>> @@ -44,4 +47,15 @@
>>    void addGBeans(EARContext earContext, Module module, Bundle bundle,
>> Collection repository) throws DeploymentException;
>>
>>    String getSchemaNamespace();
>> +
>> +    /**
>> +     * Returns sort order priority.  Lower numbers indicate higher
>> priority.
>> +     */
>> +    int getPriority();
>> +
>> +    /**
>> +     * Returns true if this ModuleBuilder creates and installs module of
>> the specified type.
>> +     *
>> +     */
>> +    boolean supportsModule(Class moduleType);
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/SwitchingModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -50,9 +50,14 @@
>>
>>    private final Map namespaceToBuilderMap = new HashMap();
>>
>> +    private Class supportedModuleType;
>> +    private int priority = NORMAL_PRIORITY;
>>    private String defaultNamespace;
>>
>> -    public SwitchingModuleBuilder(Collection builders) {
>> +    public SwitchingModuleBuilder(Collection builders, String
>> supportedModule, int priority) throws Exception {
>> +        this.supportedModuleType =
>> SwitchingModuleBuilder.class.getClassLoader().loadClass(supportedModule);
>> +        this.priority = priority;
>> +
>>        ReferenceCollection buildersCollection = (ReferenceCollection)
>> builders;
>>        buildersCollection.addReferenceCollectionListener(new
>> ReferenceCollectionListener() {
>>            public void memberAdded(ReferenceCollectionEvent event) {
>> @@ -170,15 +175,25 @@
>>        return null;
>>    }
>>
>> +    public int getPriority() {
>> +        return priority;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return supportedModuleType.isAssignableFrom(moduleType);
>> +    }
>> +
>>    public static final GBeanInfo GBEAN_INFO;
>>
>>    static {
>>        GBeanInfoBuilder infoBuilder =
>> GBeanInfoBuilder.createStatic(SwitchingModuleBuilder.class,
>> NameFactory.MODULE_BUILDER);
>>        infoBuilder.addAttribute("defaultNamespace", String.class, true,
>> true);
>> +        infoBuilder.addAttribute("supportedModule", String.class, true,
>> true);
>> +        infoBuilder.addAttribute("priority", int.class, true, true);
>>        infoBuilder.addReference("ModuleBuilders", ModuleBuilder.class,
>> NameFactory.MODULE_BUILDER);
>>        infoBuilder.addInterface(ModuleBuilder.class);
>>
>> -        infoBuilder.setConstructor(new String[] {"ModuleBuilders"});
>> +        infoBuilder.setConstructor(new String[] {"ModuleBuilders",
>> "supportedModule","priority"});
>>        GBEAN_INFO = infoBuilder.getBeanInfo();
>>    }
>>
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTestSupport.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTestSupport.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTestSupport.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTestSupport.java
>> Sat Dec  5 06:24:26 2009
>> @@ -16,8 +16,10 @@
>>  */
>> package org.apache.geronimo.j2ee.deployment;
>>
>> +import java.util.ArrayList;
>> import java.util.Collection;
>> import java.util.Collections;
>> +import java.util.List;
>> import java.util.Map;
>> import java.util.Set;
>> import java.util.HashSet;
>> @@ -72,10 +74,6 @@
>>
>>    protected static MockConnectorConfigBuilder connectorConfigBuilder =
>> new MockConnectorConfigBuilder();
>>
>> -    protected static ActivationSpecInfoLocator activationSpecInfoLocator
>> = connectorConfigBuilder;
>> -
>> -    protected static ModuleBuilder appClientConfigBuilder = null;
>> -
>>    protected final static ModuleIDBuilder idBuilder = new
>> ModuleIDBuilder();
>>
>>    protected static final NamespaceDrivenBuilder securityBuilder = null;
>> @@ -106,7 +104,6 @@
>>
>>    protected static final AbstractName raModuleName =
>> naming.createChildName(earName, "rar", NameFactory.RESOURCE_ADAPTER_MODULE);
>>
>> -
>>    protected Map<String, Artifact> locations = new HashMap<String,
>> Artifact>();
>>
>>    protected Environment defaultParentId;
>> @@ -136,6 +133,14 @@
>>        defaultParentId.addDependency(new
>> Artifact("org.apache.geronimo.tests", "test", "1", "car"), ImportType.ALL);
>>    }
>>
>> +    private List<ModuleBuilder> getBuilders(ModuleBuilder...builders) {
>> +        List<ModuleBuilder> b = new ArrayList<ModuleBuilder>();
>> +        for (ModuleBuilder builder : builders) {
>> +            b.add(builder);
>> +        }
>> +        return b;
>> +    }
>> +
>>    public void testBuildConfiguration() throws Exception {
>>        ConfigurationData configurationData = null;
>>        DeploymentContext context = null;
>> @@ -146,11 +151,9 @@
>>                    corbaGBeanAbstractNameQuery,
>>                    null,
>>                    Collections.singleton(repository),
>> -                    ejbConfigBuilder,
>> -                    webConfigBuilder,
>> -                    connectorConfigBuilder,
>> -                    activationSpecInfoLocator,
>> -                    appClientConfigBuilder,
>> +                    getBuilders(ejbConfigBuilder,
>> +                                webConfigBuilder,
>> +                                connectorConfigBuilder),
>>                    serviceBuilder,
>>                    persistenceUnitBuilder,
>>                    naming,
>> @@ -177,11 +180,9 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                webConfigBuilder,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                            webConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -212,11 +213,9 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                webConfigBuilder,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                            webConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -247,11 +246,9 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                webConfigBuilder,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                            webConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -282,11 +279,9 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                webConfigBuilder,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                            webConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -317,11 +312,8 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                null,
>> -                webConfigBuilder,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(webConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -353,11 +345,8 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                null,
>> -                connectorConfigBuilder,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                            connectorConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>> @@ -388,11 +377,8 @@
>>                corbaGBeanAbstractNameQuery,
>>                null,
>>                null,
>> -                ejbConfigBuilder,
>> -                webConfigBuilder,
>> -                null,
>> -                activationSpecInfoLocator,
>> -                appClientConfigBuilder,
>> +                getBuilders(ejbConfigBuilder,
>> +                             webConfigBuilder),
>>                serviceBuilder,
>>                persistenceUnitBuilder,
>>                naming, artifactResolvers, bundleContext);
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockConnectorConfigBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockConnectorConfigBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockConnectorConfigBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockConnectorConfigBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -114,4 +114,12 @@
>>    public GBeanData locateConnectionFactoryInfo(GBeanData
>> resourceAdapterModuleData, String connectionFactoryInterfaceName) throws
>> DeploymentException {
>>        return null;
>>    }
>> +
>> +    public int getPriority() {
>> +        return NORMAL_PRIORITY;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return ConnectorModule.class.isAssignableFrom(moduleType);
>> +    }
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockEJBConfigBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockEJBConfigBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockEJBConfigBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockEJBConfigBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -83,4 +83,12 @@
>>        return null;
>>    }
>>
>> +    public int getPriority() {
>> +        return NORMAL_PRIORITY;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return EJBModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockWARConfigBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockWARConfigBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockWARConfigBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-j2ee-builder/src/test/java/org/apache/geronimo/j2ee/deployment/MockWARConfigBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -88,4 +88,12 @@
>>        return null;
>>    }
>>
>> +    public int getPriority() {
>> +        return NORMAL_PRIORITY;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return WebModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>> }
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/geronimo-web-2.5-builder/src/main/java/org/apache/geronimo/web25/deployment/AbstractWebModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -746,6 +746,14 @@
>>        webModuleData.setReferencePattern("TrackedConnectionAssociator",
>> moduleContext.getConnectionTrackerName());
>>    }
>>
>> +    public int getPriority() {
>> +        return 10;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return WebModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>>    private static class InternWrapper implements XMLStreamReader {
>>        private final XMLStreamReader delegate;
>>
>>
>> Modified:
>> geronimo/server/trunk/plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml
>> (original)
>> +++
>> geronimo/server/trunk/plugins/j2ee/j2ee-deployer/src/main/plan/plan.xml Sat
>> Dec  5 06:24:26 2009
>> @@ -28,9 +28,6 @@
>>        <reference name="Repositories">
>>            <!--<gbean-name>*:name=Repository,*</gbean-name>-->
>>        </reference>
>> -        <reference name="WebConfigBuilder">
>> -            <name>WebBuilder</name>
>> -        </reference>
>>        <references name="ServiceBuilders">
>>            <pattern>
>>                <name>GBeanBuilder</name>
>> @@ -44,23 +41,21 @@
>>                <name>PersistenceUnitBuilder</name>
>>            </pattern>
>>        </references>
>> -        <references name="EJBConfigBuilder">
>> +        <references name="ModuleBuilders">
>> +            <pattern>
>> +                <name>WebBuilder</name>
>> +            </pattern>
>>            <pattern>
>>                <name>EJBBuilder</name>
>>            </pattern>
>>            <pattern>
>> -                <name>UnavailableEJBBuilder</name>
>> +                <name>ConnectorBuilder</name>
>>            </pattern>
>> -        </references>
>> -        <reference name="ConnectorConfigBuilder">
>> -            <name>ConnectorBuilder</name>
>> -        </reference>
>> -        <references name="AppClientConfigBuilder">
>>            <pattern>
>>                <name>AppClientBuilder</name>
>>            </pattern>
>>            <pattern>
>> -                <name>UnavailableAppClientBuilder</name>
>> +                <name>AriesAppBuilder</name>
>>            </pattern>
>>        </references>
>>        <reference name="ArtifactResolvers">
>> @@ -82,6 +77,8 @@
>>    <!-- web switching builder -->
>>    <gbean name="WebBuilder"
>> class="org.apache.geronimo.j2ee.deployment.SwitchingModuleBuilder">
>>        <attribute
>> name="defaultNamespace">http://geronimo.apache.org/xml/ns/j2ee/web/tomcat-${geronimoSchemaVersion}</attribute>
>> +        <attribute
>> name="supportedModule">org.apache.geronimo.j2ee.deployment.WebModule</attribute>
>> +        <attribute name="priority">10</attribute>
>>        <references name="ModuleBuilders">
>>            <pattern>
>>                <name>JettyWebBuilder</name>
>>
>> Modified:
>> geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
>> URL:
>> http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java?rev=887507&r1=887506&r2=887507&view=diff
>>
>> ==============================================================================
>> ---
>> geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
>> (original)
>> +++
>> geronimo/server/trunk/plugins/openejb/geronimo-openejb-builder/src/main/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilder.java
>> Sat Dec  5 06:24:26 2009
>> @@ -898,6 +898,14 @@
>>        return new AbstractNameQuery(artifact, nameMap, (Set) null);
>>    }
>>
>> +    public int getPriority() {
>> +        return 20;
>> +    }
>> +
>> +    public boolean supportsModule(Class moduleType) {
>> +        return EjbModule.class.isAssignableFrom(moduleType);
>> +    }
>> +
>>    public static class EarData {
>>        private final Map<String, EjbModule> ejbModules = new
>> TreeMap<String, EjbModule>();
>>        private final Map<String, EjbJarInfo> ejbJars = new TreeMap<String,
>> EjbJarInfo>();
>>
>>
>
>

Mime
View raw message