Author: djencks Date: Sun Nov 7 09:26:43 2004 New Revision: 56855 Modified: geronimo/trunk/modules/assembly/src/plan/deployer-system-plan.xml geronimo/trunk/modules/assembly/src/plan/j2ee-deployer-plan.xml geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml geronimo/trunk/modules/assembly/src/plan/system-plan.xml geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilderTest.java geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/Bootstrap.java geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java Log: implement GERONIMO-435. Every builder can specify the default parentId. For services, a module can specify the empty string parentId="" to get no parent.
Modified: geronimo/trunk/modules/assembly/src/plan/deployer-system-plan.xml ============================================================================== --- geronimo/trunk/modules/assembly/src/plan/deployer-system-plan.xml (original) +++ geronimo/trunk/modules/assembly/src/plan/deployer-system-plan.xml Sun Nov 7 09:26:43 2004 @@ -24,6 +24,7 @@ <configuration xmlns="http://geronimo.apache.org/xml/ns/deployment" configId="org/apache/geronimo/DeployerSystem" + parentId="" > <!-- ServerInfo service --> Modified: geronimo/trunk/modules/assembly/src/plan/j2ee-deployer-plan.xml ============================================================================== --- geronimo/trunk/modules/assembly/src/plan/j2ee-deployer-plan.xml (original) +++ geronimo/trunk/modules/assembly/src/plan/j2ee-deployer-plan.xml Sun Nov 7 09:26:43 2004 @@ -113,10 +113,12 @@ </gbean> <gbean name="geronimo.deployer:role=Builder,type=Service,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.deployment.service.ServiceConfigBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <reference name="Repository">*:role=Repository,*</reference> </gbean> <gbean name="geronimo.deployer:role=Builder,type=EAR,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.j2ee.deployment.EARConfigBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <attribute name="j2eeServer" type="javax.management.ObjectName">geronimo.server:j2eeType=J2EEServer,name=geronimo</attribute> <attribute name="transactionContextManagerObjectName" type="javax.management.ObjectName">geronimo.server:type=TransactionContextManager</attribute> <attribute name="connectionTrackerObjectName" type="javax.management.ObjectName">geronimo.server:type=ConnectionTracker</attribute> @@ -131,13 +133,20 @@ <reference name="AppClientConfigBuilder">geronimo.deployer:role=ModuleBuilder,type=AppClient,config=org/apache/geronimo/J2EEDeployer</reference> </gbean> - <gbean name="geronimo.deployer:role=ModuleBuilder,type=Web,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder"/> + <gbean name="geronimo.deployer:role=ModuleBuilder,type=Web,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> + </gbean> - <gbean name="geronimo.deployer:role=ModuleBuilder,type=EJB,config=org/apache/geronimo/J2EEDeployer" class="org.openejb.deployment.OpenEJBModuleBuilder"/> + <gbean name="geronimo.deployer:role=ModuleBuilder,type=EJB,config=org/apache/geronimo/J2EEDeployer" class="org.openejb.deployment.OpenEJBModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> +<!-- <reference name="SkeletonGenerator">openejb.CORBA:type=SkeletonGenerator,vendor=OpenORB</reference>--> + </gbean> - <gbean name="geronimo.deployer:role=ClientEJBReferenceBuilder,config=org/apache/geronimo/J2EEDeployer" class="org.openejb.deployment.RemoteEJBReferenceBuilder"/> + <gbean name="geronimo.deployer:role=ClientEJBReferenceBuilder,config=org/apache/geronimo/J2EEDeployer" class="org.openejb.deployment.RemoteEJBReferenceBuilder"> + </gbean> <gbean name="geronimo.deployer:role=ModuleBuilder,type=Connector,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.connector.deployment.ConnectorModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <attribute name="defaultMaxSize" type="int">10</attribute> <attribute name="defaultMinSize" type="int">0</attribute> <attribute name="defaultBlockingTimeoutMilliseconds" type="int">5000</attribute> @@ -147,6 +156,8 @@ </gbean> <gbean name="geronimo.deployer:role=ModuleBuilder,type=AppClient,config=org/apache/geronimo/J2EEDeployer" class="org.apache.geronimo.client.builder.AppClientModuleBuilder"> + <attribute name="defaultClientParentId">org/apache/geronimo/Client</attribute> + <attribute name="defaultServerParentId">org/apache/geronimo/Server</attribute> <attribute name="transactionContextManagerObjectName" type="javax.management.ObjectName">geronimo.client:type=TransactionContextManager</attribute> <attribute name="connectionTrackerObjectName" type="javax.management.ObjectName">geronimo.client:type=ConnectionTracker</attribute> <reference name="EJBReferenceBuilder">geronimo.deployer:role=ClientEJBReferenceBuilder,config=org/apache/geronimo/J2EEDeployer</reference> @@ -155,5 +166,13 @@ <reference name="Store">geronimo.deployment:role=ConfigurationStore,type=Local</reference> <reference name="Repository">*:role=Repository,*</reference> </gbean> + +<!-- <gbean name="openejb.CORBA:type=Compiler,vendor=Ant" class="org.openejb.corba.compiler.AntCompiler"/>--> +<!----> +<!-- <gbean name="openejb.CORBA:type=SkeletonGenerator,vendor=OpenORB" class="org.openejb.corba.compiler.OpenORBSkeletonGenerator">--> +<!-- <attribute name="props" type="java.util.Properties">--> +<!-- </attribute>--> +<!-- <reference name="Compiler">openejb.CORBA:type=Compiler,vendor=Ant</reference>--> +<!-- </gbean>--> </configuration> Modified: geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml ============================================================================== --- geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml (original) +++ geronimo/trunk/modules/assembly/src/plan/j2ee-server-plan.xml Sun Nov 7 09:26:43 2004 @@ -259,10 +259,12 @@ </gbean> <gbean name="geronimo.deployer:role=Builder,type=Service,config=org/apache/geronimo/Server" class="org.apache.geronimo.deployment.service.ServiceConfigBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <reference name="Repository">*:role=Repository,*</reference> </gbean> <gbean name="geronimo.deployer:role=Builder,type=EAR,config=org/apache/geronimo/Server" class="org.apache.geronimo.j2ee.deployment.EARConfigBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <attribute name="j2eeServer" type="javax.management.ObjectName">geronimo.server:j2eeType=J2EEServer,name=geronimo</attribute> <attribute name="transactionContextManagerObjectName" type="javax.management.ObjectName">geronimo.server:type=TransactionContextManager</attribute> <attribute name="connectionTrackerObjectName" type="javax.management.ObjectName">geronimo.server:type=ConnectionTracker</attribute> @@ -277,13 +279,19 @@ <reference name="AppClientConfigBuilder">geronimo.deployer:role=ModuleBuilder,type=AppClient,config=org/apache/geronimo/Server</reference> </gbean> - <gbean name="geronimo.deployer:role=ModuleBuilder,type=Web,config=org/apache/geronimo/Server" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder"/> + <gbean name="geronimo.deployer:role=ModuleBuilder,type=Web,config=org/apache/geronimo/Server" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> + </gbean> - <gbean name="geronimo.deployer:role=ModuleBuilder,type=EJB,config=org/apache/geronimo/Server" class="org.openejb.deployment.OpenEJBModuleBuilder"/> + <gbean name="geronimo.deployer:role=ModuleBuilder,type=EJB,config=org/apache/geronimo/Server" class="org.openejb.deployment.OpenEJBModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> +<!-- <reference name="SkeletonGenerator">openejb.CORBA:type=SkeletonGenerator,vendor=OpenORB</reference>--> + </gbean> <gbean name="geronimo.deployer:role=ClientEJBReferenceBuilder,config=org/apache/geronimo/Server" class="org.openejb.deployment.RemoteEJBReferenceBuilder"/> <gbean name="geronimo.deployer:role=ModuleBuilder,type=Connector,config=org/apache/geronimo/Server" class="org.apache.geronimo.connector.deployment.ConnectorModuleBuilder"> + <attribute name="defaultParentId">org/apache/geronimo/Server</attribute> <attribute name="defaultMaxSize" type="int">10</attribute> <attribute name="defaultMinSize" type="int">0</attribute> <attribute name="defaultBlockingTimeoutMilliseconds" type="int">5000</attribute> @@ -293,6 +301,8 @@ </gbean> <gbean name="geronimo.deployer:role=ModuleBuilder,type=AppClient,config=org/apache/geronimo/Server" class="org.apache.geronimo.client.builder.AppClientModuleBuilder"> + <attribute name="defaultClientParentId">org/apache/geronimo/Client</attribute> + <attribute name="defaultServerParentId">org/apache/geronimo/Server</attribute> <attribute name="transactionContextManagerObjectName" type="javax.management.ObjectName">geronimo.client:type=TransactionContextManager</attribute> <attribute name="connectionTrackerObjectName" type="javax.management.ObjectName">geronimo.client:type=ConnectionTracker</attribute> <reference name="EJBReferenceBuilder">geronimo.deployer:role=ClientEJBReferenceBuilder,config=org/apache/geronimo/Server</reference> @@ -301,5 +311,14 @@ <reference name="Store">*:role=ConfigurationStore,type=Local</reference> <reference name="Repository">*:role=Repository,*</reference> </gbean> + +<!-- <gbean name="openejb.CORBA:type=Compiler,vendor=Ant" class="org.openejb.corba.compiler.AntCompiler"/>--> +<!----> +<!-- <gbean name="openejb.CORBA:type=SkeletonGenerator,vendor=OpenORB" class="org.openejb.corba.compiler.OpenORBSkeletonGenerator">--> +<!-- <attribute name="props" type="java.util.Properties">--> +<!-- </attribute>--> +<!-- <reference name="Compiler">openejb.CORBA:type=Compiler,vendor=Ant</reference>--> +<!-- </gbean>--> +<!----> <!-- end deployment block --> </configuration> Modified: geronimo/trunk/modules/assembly/src/plan/system-plan.xml ============================================================================== --- geronimo/trunk/modules/assembly/src/plan/system-plan.xml (original) +++ geronimo/trunk/modules/assembly/src/plan/system-plan.xml Sun Nov 7 09:26:43 2004 @@ -29,6 +29,7 @@ <configuration xmlns="http://geronimo.apache.org/xml/ns/deployment" configId="org/apache/geronimo/System" + parentId="" > <!-- ServerInfo service --> Modified: geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java ============================================================================== --- geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java (original) +++ geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java Sun Nov 7 09:26:43 2004 @@ -74,11 +74,13 @@ * @version $Rev: 46019 $ $Date: 2004-09-14 02:56:06 -0700 (Tue, 14 Sep 2004) $ */ public class AppClientModuleBuilder implements ModuleBuilder { + + private final URI defaultClientParentId; + private final URI defaultServerParentId; private final Kernel kernel; private final Repository repository; private final ConfigurationStore store; - private static final URI CLIENT_PARENT_ID = URI.create("org/apache/geronimo/Client"); private final String clientDomainName = "geronimo.client"; private final String clientServerName = "client"; private final String clientApplicationName = "client-application"; @@ -88,7 +90,9 @@ private final ModuleBuilder connectorModuleBuilder; private final ResourceReferenceBuilder resourceReferenceBuilder; - public AppClientModuleBuilder(ObjectName transactionContextManagerObjectName, + public AppClientModuleBuilder(URI defaultClientParentId, + URI defaultServerParentId, + ObjectName transactionContextManagerObjectName, ObjectName connectionTrackerObjectName, EJBReferenceBuilder ejbReferenceBuilder, ModuleBuilder connectorModuleBuilder, @@ -96,6 +100,8 @@ ConfigurationStore store, Repository repository, Kernel kernel) { + this.defaultClientParentId = defaultClientParentId; + this.defaultServerParentId = defaultServerParentId; this.kernel = kernel; this.repository = repository; this.store = store; @@ -158,6 +164,8 @@ } catch (URISyntaxException e) { throw new DeploymentException("Invalid parentId " + gerAppClient.getParentId(), e); } + } else { + parentId = defaultServerParentId; } return new AppClientModule(standAlone, configId, parentId, moduleFile, targetPath, appClient, gerAppClient, specDD); @@ -318,7 +326,7 @@ if (geronimoAppClient.isSetClientParentId()) { clientParentId = URI.create(geronimoAppClient.getClientParentId()); } else { - clientParentId = CLIENT_PARENT_ID; + clientParentId = defaultClientParentId; } appClientDeploymentContext = new EARContext(appClientConfiguration, clientConfigId, @@ -587,20 +595,24 @@ public static final GBeanInfo GBEAN_INFO; static { - GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(AppClientModuleBuilder.class); - infoFactory.addAttribute("transactionContextManagerObjectName", ObjectName.class, true); - infoFactory.addAttribute("connectionTrackerObjectName", ObjectName.class, true); - infoFactory.addReference("EJBReferenceBuilder", EJBReferenceBuilder.class); - infoFactory.addReference("ConnectorModuleBuilder", ModuleBuilder.class); - infoFactory.addReference("ResourceReferenceBuilder", ResourceReferenceBuilder.class); - infoFactory.addReference("Store", ConfigurationStore.class); - infoFactory.addReference("Repository", Repository.class); - - infoFactory.addAttribute("kernel", Kernel.class, false); - - infoFactory.addInterface(ModuleBuilder.class); - - infoFactory.setConstructor(new String[]{"transactionContextManagerObjectName", + GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(AppClientModuleBuilder.class); + infoBuilder.addAttribute("defaultClientParentId", URI.class, true); + infoBuilder.addAttribute("defaultServerParentId", URI.class, true); + infoBuilder.addAttribute("transactionContextManagerObjectName", ObjectName.class, true); + infoBuilder.addAttribute("connectionTrackerObjectName", ObjectName.class, true); + infoBuilder.addReference("EJBReferenceBuilder", EJBReferenceBuilder.class); + infoBuilder.addReference("ConnectorModuleBuilder", ModuleBuilder.class); + infoBuilder.addReference("ResourceReferenceBuilder", ResourceReferenceBuilder.class); + infoBuilder.addReference("Store", ConfigurationStore.class); + infoBuilder.addReference("Repository", Repository.class); + + infoBuilder.addAttribute("kernel", Kernel.class, false); + + infoBuilder.addInterface(ModuleBuilder.class); + + infoBuilder.setConstructor(new String[]{"defaultClientParentId", + "defaultServerParentId", + "transactionContextManagerObjectName", "connectionTrackerObjectName", "EJBReferenceBuilder", "ConnectorModuleBuilder", @@ -608,7 +620,7 @@ "Store", "Repository", "kernel"}); - GBEAN_INFO = infoFactory.getBeanInfo(); + GBEAN_INFO = infoBuilder.getBeanInfo(); } public static GBeanInfo getGBeanInfo() { Modified: geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java ============================================================================== --- geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java (original) +++ geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java Sun Nov 7 09:26:43 2004 @@ -12,7 +12,7 @@ */ public class PlanParsingTest extends TestCase { - private AppClientModuleBuilder builder = new AppClientModuleBuilder(null, null,null, null, null, null, null, null); + private AppClientModuleBuilder builder = new AppClientModuleBuilder(null, null, null, null,null, null, null, null, null, null); File basedir = new File(System.getProperty("basedir", ".")); public void testResourceRef() throws Exception { Modified: geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java ============================================================================== --- geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java (original) +++ geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java Sun Nov 7 09:26:43 2004 @@ -115,8 +115,10 @@ private final boolean defaultXATransactionCaching; private final boolean defaultXAThreadCaching; private final Kernel kernel; + private final URI defaultParentId; - public ConnectorModuleBuilder(int defaultMaxSize, int defaultMinSize, int defaultBlockingTimeoutMilliseconds, int defaultIdleTimeoutMinutes, boolean defaultXATransactionCaching, boolean defaultXAThreadCaching, Kernel kernel) { + public ConnectorModuleBuilder(URI defaultParentId, int defaultMaxSize, int defaultMinSize, int defaultBlockingTimeoutMilliseconds, int defaultIdleTimeoutMinutes, boolean defaultXATransactionCaching, boolean defaultXAThreadCaching, Kernel kernel) { + this.defaultParentId = defaultParentId; this.defaultMaxSize = defaultMaxSize; this.defaultMinSize = defaultMinSize; this.defaultBlockingTimeoutMilliseconds = defaultBlockingTimeoutMilliseconds; @@ -191,7 +193,7 @@ // if we got one extract the validate it otherwise create a default one if (gerConnector == null) { - throw new DeploymentException("A connector module must contain a geronimo-ra.xml"); + throw new DeploymentException("A connector module must be deployed using a plan"); } SchemaConversionUtils.validateDD(gerConnector); } catch (XmlException e) { @@ -213,6 +215,8 @@ } catch (URISyntaxException e) { throw new DeploymentException("Invalid parentId " + gerConnector.getParentId(), e); } + } else { + parentId = defaultParentId; } return new ConnectorModule(standAlone, configId, parentId, moduleFile, targetPath, connector, gerConnector, specDD); @@ -917,6 +921,8 @@ static { GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ConnectorModuleBuilder.class); + + infoBuilder.addAttribute("defaultParentId", URI.class, true); infoBuilder.addAttribute("defaultMaxSize", int.class, true); infoBuilder.addAttribute("defaultMinSize", int.class, true); infoBuilder.addAttribute("defaultBlockingTimeoutMilliseconds", int.class, true); @@ -929,7 +935,7 @@ infoBuilder.addInterface(ModuleBuilder.class); infoBuilder.addInterface(ResourceReferenceBuilder.class); - infoBuilder.setConstructor(new String[]{"defaultMaxSize", "defaultMinSize", "defaultBlockingTimeoutMilliseconds", "defaultIdleTimeoutMinutes", "defaultXATransactionCaching", "defaultXAThreadCaching", "kernel"}); + infoBuilder.setConstructor(new String[]{"defaultParentId", "defaultMaxSize", "defaultMinSize", "defaultBlockingTimeoutMilliseconds", "defaultIdleTimeoutMinutes", "defaultXATransactionCaching", "defaultXAThreadCaching", "kernel"}); GBEAN_INFO = infoBuilder.getBeanInfo(); } Modified: geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilderTest.java ============================================================================== --- geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilderTest.java (original) +++ geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_0ConfigBuilderTest.java Sun Nov 7 09:26:43 2004 @@ -23,6 +23,7 @@ import java.io.InputStream; import java.io.ObjectInputStream; import java.net.MalformedURLException; +import java.net.URI; import java.net.URL; import java.net.URLClassLoader; import java.sql.Connection; @@ -45,12 +46,10 @@ import org.apache.geronimo.j2ee.deployment.Module; import org.apache.geronimo.j2ee.deployment.ModuleBuilder; import org.apache.geronimo.j2ee.deployment.RefContext; -import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; +import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl; import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.j2ee.management.impl.J2EEServerImpl; -import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; -import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.kernel.Kernel; import org.apache.geronimo.kernel.management.State; import org.apache.geronimo.system.serverinfo.ServerInfo; @@ -74,6 +73,7 @@ private int defaultMinSize = 0; private int defaultBlockingTimeoutMilliseconds = 5000; private int defaultidleTimeoutMinutes = 15; + private URI defaultParentId; public void testLoadJ2eeDeploymentDescriptor() throws Exception { @@ -183,7 +183,7 @@ ObjectName connectionTrackerName = new ObjectName("geronimo.connector:service=ConnectionTracker"); Kernel kernel = new Kernel("testServer"); - ConnectorModuleBuilder moduleBuilder = new ConnectorModuleBuilder(defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel); + ConnectorModuleBuilder moduleBuilder = new ConnectorModuleBuilder(defaultParentId, defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel); File rarFile = action.getRARFile(); ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); @@ -237,7 +237,7 @@ JarFile rarFile = null; try { rarFile = DeploymentUtil.createJarFile(new File(basedir, "target/test-ear-noger.ear")); - EARConfigBuilder configBuilder = new EARConfigBuilder(j2eeServer, null, connectionTrackerName, null, null, null, null, null, null, new ConnectorModuleBuilder(defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel), null, null, kernel); + EARConfigBuilder configBuilder = new EARConfigBuilder(defaultParentId, j2eeServer, null, connectionTrackerName, null, null, null, null, null, null, new ConnectorModuleBuilder(defaultParentId, defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel), null, null, kernel); File tempDir = null; try { tempDir = DeploymentUtil.createTempDir(); @@ -295,82 +295,42 @@ } ObjectName moduleName = NameFactory.getModuleName(null, null, null, null, NameFactory.RESOURCE_ADAPTER_MODULE, j2eeContext); -// ObjectName.getInstance(j2eeDomainName + ":j2eeType=ResourceAdapterModule,J2EEServer=" + j2eeServerName + ",J2EEApplication=" + j2eeApplicationName + ",name=" + j2eeModuleName); assertRunning(kernel, moduleName); // FirstTestOutboundConnectionFactory ObjectName firstConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=ConnectionManager" + -// ",J2EEServer=" + j2eeServerName + -// ",name=FirstTestOutboundConnectionFactory"); assertRunning(kernel, firstConnectionManagerFactory); ObjectName firstOutCF = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=JCAConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",JCAResource=null" + -// ",name=FirstTestOutboundConnectionFactory"); assertRunning(kernel, firstOutCF); ObjectName firstOutSecurity = new ObjectName("geronimo.security:service=Realm,type=PasswordCredential,name=FirstTestOutboundConnectionFactory"); assertRunning(kernel, firstOutSecurity); ObjectName firstOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "FirstTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=JCAManagedConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",name=FirstTestOutboundConnectionFactory"); assertRunning(kernel, firstOutMCF); // SecondTestOutboundConnectionFactory ObjectName secondConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=ConnectionManager" + -// ",J2EEServer=" + j2eeServerName + -// ",name=SecondTestOutboundConnectionFactory"); assertRunning(kernel, secondConnectionManagerFactory); ObjectName secondOutCF = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext); -//new ObjectName(j2eeDomainName + -// ":j2eeType=JCAConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",JCAResource=null" + -// ",name=SecondTestOutboundConnectionFactory"); assertRunning(kernel, secondOutCF); ObjectName secondOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "SecondTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=JCAManagedConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",name=SecondTestOutboundConnectionFactory"); assertRunning(kernel, secondOutMCF); // ThirdTestOutboundConnectionFactory ObjectName thirdConnectionManagerFactory = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_MANAGER, j2eeContext); -//new ObjectName(j2eeDomainName + -// ":j2eeType=ConnectionManager" + -// ",J2EEServer=" + j2eeServerName + -// ",name=ThirdTestOutboundConnectionFactory"); assertRunning(kernel, thirdConnectionManagerFactory); ObjectName thirdOutCF = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_CONNECTION_FACTORY, j2eeContext); -//new ObjectName(j2eeDomainName + -// ":j2eeType=JCAConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",JCAResource=null" + -// ",name=ThirdTestOutboundConnectionFactory"); assertRunning(kernel, thirdOutCF); ObjectName thirdOutMCF = NameFactory.getResourceComponentName(null, null, null, null, "ThirdTestOutboundConnectionFactory", NameFactory.JCA_MANAGED_CONNECTION_FACTORY, j2eeContext); -// new ObjectName(j2eeDomainName + -// ":j2eeType=JCAManagedConnectionFactory" + -// ",J2EEServer=" + j2eeServerName + -// ",name=ThirdTestOutboundConnectionFactory"); assertRunning(kernel, thirdOutMCF); kernel.stopGBean(objectName); @@ -413,6 +373,7 @@ } protected void setUp() throws Exception { + defaultParentId = null;//new URI("org/apache/geronimo/Server"); File docDir = new File(basedir, "src/test-data/connector_1_0"); j2eeDD = new File(docDir, "ra.xml").toURL(); geronimoDD = new File(docDir, "geronimo-ra.xml").toURL(); Modified: geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java ============================================================================== --- geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java (original) +++ geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/RAR_1_5ConfigBuilderTest.java Sun Nov 7 09:26:43 2004 @@ -24,6 +24,7 @@ import java.io.ObjectInputStream; import java.net.URL; import java.net.URLClassLoader; +import java.net.URI; import java.sql.Connection; import java.sql.Statement; import java.util.ArrayList; @@ -74,6 +75,7 @@ private int defaultMinSize = 0; private int defaultBlockingTimeoutMilliseconds = 5000; private int defaultidleTimeoutMinutes = 15; + private URI defaultParentId; public void testLoadJ2eeDeploymentDescriptor() throws Exception { InputStream j2eeInputStream = j2eeDD.openStream(); @@ -130,7 +132,7 @@ ObjectName connectionTrackerName = new ObjectName("geronimo.connector:service=ConnectionTracker"); Kernel kernel = new Kernel("testServer"); - ConnectorModuleBuilder moduleBuilder = new ConnectorModuleBuilder(defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel); + ConnectorModuleBuilder moduleBuilder = new ConnectorModuleBuilder(defaultParentId, defaultMaxSize, defaultMinSize, defaultBlockingTimeoutMilliseconds, defaultidleTimeoutMinutes, defaultXATransactionCaching, defaultXAThreadCaching, kernel); File rarFile = action.getRARFile(); ClassLoader oldCl = Thread.currentThread().getContextClassLoader(); @@ -384,6 +386,7 @@ } protected void setUp() throws Exception { + defaultParentId = new URI("org/apache/geronimo/Server"); File docDir = new File(basedir, "src/test-data/connector_1_5"); j2eeDD = new File(docDir, "ra.xml").toURL(); geronimoDD = new File(docDir, "geronimo-ra.xml").toURL(); Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/Bootstrap.java ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/Bootstrap.java (original) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/Bootstrap.java Sun Nov 7 09:26:43 2004 @@ -120,7 +120,9 @@ // create the service builder, repository and config store objects LocalConfigStore configStore = new LocalConfigStore(new File(storeDir)); ReadOnlyRepository repository = new ReadOnlyRepository(new File(repositoryDir)); - ServiceConfigBuilder builder = new ServiceConfigBuilder(repository); + + //TODO should the defaultParentId be null?? + ServiceConfigBuilder builder = new ServiceConfigBuilder(null, repository); // create the manifext Manifest manifest = new Manifest(); Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java ============================================================================== --- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java (original) +++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/service/ServiceConfigBuilder.java Sun Nov 7 09:26:43 2004 @@ -49,14 +49,20 @@ * @version $Rev$ $Date$ */ public class ServiceConfigBuilder implements ConfigurationBuilder { + private final URI defaultParentId; private final Repository repository; private final Kernel kernel; - public ServiceConfigBuilder(Repository repository) { - this(repository, null); + public ServiceConfigBuilder(URI defaultParentId, Repository repository) { + this(defaultParentId, repository, null); } - public ServiceConfigBuilder(Repository repository, Kernel kernel) { + public ServiceConfigBuilder(URI defaultParentId, Repository repository, Kernel kernel) { + if (defaultParentId == null) { + this.defaultParentId = null; + } else { + this.defaultParentId = defaultParentId; + } this.repository = repository; this.kernel = kernel; } @@ -87,13 +93,17 @@ } URI parentID; if (configType.isSetParentId()) { - try { - parentID = new URI(configType.getParentId()); - } catch (URISyntaxException e) { - throw new DeploymentException("Invalid parentId " + configType.getParentId(), e); + if (configType.getParentId().equals("")) { + parentID = null; + } else { + try { + parentID = new URI(configType.getParentId()); + } catch (URISyntaxException e) { + throw new DeploymentException("Invalid parentId " + configType.getParentId(), e); + } } } else { - parentID = null; + parentID = defaultParentId; } DeploymentContext context = null; @@ -198,10 +208,11 @@ infoFactory.addInterface(ConfigurationBuilder.class); + infoFactory.addAttribute("defaultParentId", URI.class, true); infoFactory.addReference("Repository", Repository.class); infoFactory.addAttribute("kernel", Kernel.class, false); - infoFactory.setConstructor(new String[]{"Repository", "kernel"}); + infoFactory.setConstructor(new String[]{"defaultParentId", "Repository", "kernel"}); GBEAN_INFO = infoFactory.getBeanInfo(); } Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/deployment/EARConfigBuilder.java Sun Nov 7 09:26:43 2004 @@ -67,7 +67,6 @@ * @version $Rev$ $Date$ */ public class EARConfigBuilder implements ConfigurationBuilder { - private static final String PARENT_ID = "org/apache/geronimo/Server"; private final Kernel kernel; private final Repository repository; @@ -77,6 +76,8 @@ private final ModuleBuilder appClientConfigBuilder; private final EJBReferenceBuilder ejbReferenceBuilder; private final ResourceReferenceBuilder resourceReferenceBuilder; + + private final URI defaultParentId; private final String j2eeServerName; private final String j2eeDomainName; private final ObjectName j2eeServer; @@ -86,9 +87,10 @@ private final ObjectName nonTransactionalTimerObjectName; - public EARConfigBuilder(ObjectName j2eeServer, ObjectName transactionContextManagerObjectName, ObjectName connectionTrackerObjectName, ObjectName transactionalTimerObjectName, ObjectName nonTransactionalTimerObjectName, Repository repository, ModuleBuilder ejbConfigBuilder, EJBReferenceBuilder ejbReferenceBuilder, ModuleBuilder webConfigBuilder, ModuleBuilder connectorConfigBuilder, ResourceReferenceBuilder resourceReferenceBuilder, ModuleBuilder appClientConfigBuilder, Kernel kernel) { + public EARConfigBuilder(URI defaultParentId, ObjectName j2eeServer, ObjectName transactionContextManagerObjectName, ObjectName connectionTrackerObjectName, ObjectName transactionalTimerObjectName, ObjectName nonTransactionalTimerObjectName, Repository repository, ModuleBuilder ejbConfigBuilder, EJBReferenceBuilder ejbReferenceBuilder, ModuleBuilder webConfigBuilder, ModuleBuilder connectorConfigBuilder, ResourceReferenceBuilder resourceReferenceBuilder, ModuleBuilder appClientConfigBuilder, Kernel kernel) { this.kernel = kernel; this.repository = repository; + this.defaultParentId = defaultParentId; this.j2eeServer = j2eeServer; j2eeServerName = j2eeServer.getKeyProperty("name"); j2eeDomainName = j2eeServer.getDomain(); @@ -197,6 +199,8 @@ } catch (URISyntaxException e) { throw new DeploymentException("Invalid parentId " + gerApplication.getParentId(), e); } + } else { + parentId = defaultParentId; } // get the modules either the application plan or for a stand alone module from the specific deployer @@ -242,7 +246,7 @@ GerApplicationType gerApplication = GerApplicationType.Factory.newInstance(); // set the parentId and configId - gerApplication.setParentId(PARENT_ID); + gerApplication.setParentId(defaultParentId.toString()); String id = application.getId(); if (id == null) { File fileName = new File(module.getName()); @@ -538,6 +542,7 @@ static { GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(EARConfigBuilder.class); + infoFactory.addAttribute("defaultParentId", URI.class, true); infoFactory.addAttribute("j2eeServer", ObjectName.class, true); infoFactory.addAttribute("transactionContextManagerObjectName", ObjectName.class, true); infoFactory.addAttribute("connectionTrackerObjectName", ObjectName.class, true); @@ -557,6 +562,7 @@ infoFactory.addInterface(ConfigurationBuilder.class); infoFactory.setConstructor(new String[]{ + "defaultParentId", "j2eeServer", "transactionContextManagerObjectName", "connectionTrackerObjectName", Modified: geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java ============================================================================== --- geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java (original) +++ geronimo/trunk/modules/j2ee-builder/src/test/org/apache/geronimo/j2ee/deployment/EARConfigBuilderTest.java Sun Nov 7 09:26:43 2004 @@ -18,6 +18,7 @@ package org.apache.geronimo.j2ee.deployment; import java.io.File; +import java.net.URI; import java.util.jar.JarFile; import javax.management.ObjectName; @@ -48,6 +49,11 @@ private static final ObjectName connectionTrackerObjectName = JMXUtil.getObjectName(j2eeServerName + ":type=ConnectionTracker"); private static final ObjectName transactionalTimerObjectName = JMXUtil.getObjectName(j2eeServerName + ":type=ThreadPooledTimer,name=TransactionalThreaPooledTimer"); private static final ObjectName nonTransactionalTimerObjectName = JMXUtil.getObjectName(j2eeServerName + ":type=ThreadPooledTimer,name=NonTransactionalThreaPooledTimer"); + private URI defaultParentId; + + protected void setUp() throws Exception { + defaultParentId = new URI("org/apache/geronimo/Server"); + } public static Test suite() throws Exception { TestSuite inner = new TestSuite(EARConfigBuilderTest.class); @@ -201,7 +207,7 @@ } public void testBuildConfiguration() throws Exception { - EARConfigBuilder configBuilder = new EARConfigBuilder(j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, webConfigBuilder, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); + EARConfigBuilder configBuilder = new EARConfigBuilder(defaultParentId, j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, webConfigBuilder, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); File tempDir = null; try { @@ -214,7 +220,7 @@ } public void testNoEJBDeployer() throws Exception { - EARConfigBuilder configBuilder = new EARConfigBuilder(j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, null, null, webConfigBuilder, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); + EARConfigBuilder configBuilder = new EARConfigBuilder(defaultParentId, j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, null, null, webConfigBuilder, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); File tempDir = null; try { @@ -230,7 +236,7 @@ } public void testNoWARDeployer() throws Exception { - EARConfigBuilder configBuilder = new EARConfigBuilder(j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, null, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); + EARConfigBuilder configBuilder = new EARConfigBuilder(defaultParentId, j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, null, connectorConfigBuilder, resourceReferenceBuilder, appClientConfigBuilder, null); File tempDir = null; try { @@ -246,7 +252,7 @@ } public void testNoConnectorDeployer() throws Exception { - EARConfigBuilder configBuilder = new EARConfigBuilder(j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, webConfigBuilder, null, resourceReferenceBuilder, appClientConfigBuilder, null); + EARConfigBuilder configBuilder = new EARConfigBuilder(defaultParentId, j2eeServer, transactionManagerObjectName, connectionTrackerObjectName, transactionalTimerObjectName, nonTransactionalTimerObjectName, null, ejbConfigBuilder, null, webConfigBuilder, null, resourceReferenceBuilder, appClientConfigBuilder, null); File tempDir = null; try { Modified: geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java ============================================================================== --- geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java (original) +++ geronimo/trunk/modules/jetty-builder/src/java/org/apache/geronimo/jetty/deployment/JettyModuleBuilder.java Sun Nov 7 09:26:43 2004 @@ -28,8 +28,8 @@ import java.util.LinkedList; import java.util.jar.JarFile; import java.util.zip.ZipEntry; -import javax.management.ObjectName; import javax.management.MalformedObjectNameException; +import javax.management.ObjectName; import javax.transaction.UserTransaction; import org.apache.geronimo.deployment.DeploymentException; @@ -45,8 +45,6 @@ import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContextImpl; import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; -import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext; -import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory; import org.apache.geronimo.jetty.JettyClassLoader; import org.apache.geronimo.jetty.JettyWebAppContext; import org.apache.geronimo.jetty.JettyWebAppJACCContext; @@ -85,7 +83,11 @@ * @version $Rev$ $Date$ */ public class JettyModuleBuilder implements ModuleBuilder { - private static final String PARENT_ID = "org/apache/geronimo/Server"; + private final URI defaultParentId; + + public JettyModuleBuilder(URI defaultParentId) { + this.defaultParentId = defaultParentId; + } public Module createModule(File plan, JarFile moduleFile) throws DeploymentException { return createModule(plan, moduleFile, "war", null, true); @@ -142,6 +144,8 @@ } catch (URISyntaxException e) { throw new DeploymentException("Invalid parentId " + jettyWebApp.getParentId(), e); } + } else { + parentId = defaultParentId; } WebModule module = new WebModule(standAlone, configId, parentId, moduleFile, targetPath, webApp, jettyWebApp, specDD); @@ -209,7 +213,7 @@ JettyWebAppType jettyWebApp = JettyWebAppType.Factory.newInstance(); // set the parentId, configId and context root - jettyWebApp.setParentId(PARENT_ID); + jettyWebApp.setParentId(defaultParentId.toString()); if (null != webApp.getId()) { id = webApp.getId(); } @@ -508,9 +512,12 @@ public static final GBeanInfo GBEAN_INFO; static { - GBeanInfoBuilder infoFactory = new GBeanInfoBuilder(JettyModuleBuilder.class); - infoFactory.addInterface(ModuleBuilder.class); - GBEAN_INFO = infoFactory.getBeanInfo(); + GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(JettyModuleBuilder.class); + infoBuilder.addAttribute("defaultParentId", URI.class, true); + infoBuilder.addInterface(ModuleBuilder.class); + + infoBuilder.setConstructor(new String[] {"defaultParentId"}); + GBEAN_INFO = infoBuilder.getBeanInfo(); } public static GBeanInfo getGBeanInfo() { Modified: geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java ============================================================================== --- geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java (original) +++ geronimo/trunk/modules/jetty-builder/src/test/org/apache/geronimo/jetty/deployment/PlanParsingTest.java Sun Nov 7 09:26:43 2004 @@ -11,7 +11,7 @@ /** */ public class PlanParsingTest extends TestCase { - private JettyModuleBuilder builder = new JettyModuleBuilder(); + private JettyModuleBuilder builder = new JettyModuleBuilder(null); private File basedir = new File(System.getProperty("basedir", ".")); public void testResourceRef() throws Exception {