You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/09/06 10:21:26 UTC

svn commit: r278940 [2/3] - in /geronimo/trunk: applications/console-ear/src/plan/ applications/console-standard/src/java/org/apache/geronimo/console/jmsmanager/handlers/ modules/assembly/ modules/assembly/src/plan/ modules/assembly/src/var/config/ mod...

Modified: geronimo/trunk/modules/assembly/src/plan/jetty-config.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/jetty-config.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/jetty-config.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/jetty-config.xml Tue Sep  6 01:20:51 2005
@@ -1 +1,69 @@
-<!--

    Copyright 2004 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<!-- $Rev: 201775 $ $Date: 2005-06-25 11:59:41 -0600 (Sat, 25 Jun 2005) $ -->

<!--
Configuration for the main ring of a Geronimo server.

This configuration should contain those services normally provided
by the server.
-->

<!-- JETTY CONFIGURATION STARTS HERE -->

    <dependency>
        <uri>geronimo/jars/geronimo-jetty-${geronimo_version}.jar</uri>
    </depen
 dency>

    <!-- default WAR container using Jetty -->
    <gbean name="JettyWebManager" class="org.apache.geronimo.jetty.JettyManagerImpl">
    </gbean>

    <!-- default WAR container using Jetty -->
    <gbean name="WebContainer" class="org.apache.geronimo.jetty.JettyContainerImpl">
    </gbean>

    <gbean name="JettyRequestLog" class="org.apache.geronimo.jetty.requestlog.NCSARequestLog">
        <reference name="JettyContainer"><name>WebContainer</name></reference>
        <reference name="ServerInfo"><module>org/apache/geronimo/System</module><name>ServerInfo</name></reference>
        <attribute name="filename">var/log/jetty_yyyy_mm_dd.log</attribute>
        <attribute name="logDateFormat">dd/MMM/yyyy:HH:mm:ss ZZZ</attribute>
        <attribute name="logTimeZone">GMT</attribute>
    </gbean>

    <gbean name="JettyWebConnector" class="org.apache.geronimo.jetty.connector.HTTPConnector">
        <attribute name="host">${PlanServerHostname}"</attribute>
        <attribu
 te name="port">${PlanHTTPPort}</attribute>
        <reference name="JettyContainer"><name>WebContainer</name></reference>
        <attribute name="maxThreads">50</attribute>
        <attribute name="minThreads">10</attribute>
    </gbean>

    <gbean name="JettySSLConnector" class="org.apache.geronimo.jetty.connector.HTTPSConnector">
        <attribute name="host">${PlanServerHostname}"</attribute>
        <attribute name="port">${PlanHTTPSPort}</attribute>
        <attribute name="keystoreFileName">var/security/keystore</attribute>
        <attribute name="keystoreType">JKS</attribute>
        <attribute name="keystorePassword">secret</attribute>
        <attribute name="keyPassword">secret</attribute>
        <attribute name="clientAuthRequired">false</attribute>
        <attribute name="secureProtocol">TLS</attribute>
        <attribute name="maxThreads">50</attribute>
        <attribute name="minThreads">10</attribute>
        <reference name="JettyContainer"><name>WebCo
 ntainer</name></reference>
        <reference name="ServerInfo"><module>org/apache/geronimo/System</module><name>ServerInfo</name></reference>
    </gbean>

<!-- JETTY CONFIGURATION ENDS HERE -->
\ No newline at end of file
+<!--
+
+    Copyright 2004 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev: 201775 $ $Date: 2005-06-25 11:59:41 -0600 (Sat, 25 Jun 2005) $ -->
+
+<!--
+Configuration for the main ring of a Geronimo server.
+
+This configuration should contain those services normally provided
+by the server.
+-->
+
+<!-- JETTY CONFIGURATION STARTS HERE -->
+
+    <dependency>
+        <uri>geronimo/jars/geronimo-jetty-${geronimo_version}.jar</uri>
+    </dependency>
+
+    <!-- default WAR container using Jetty -->
+    <gbean name="WebContainer" class="org.apache.geronimo.jetty.JettyContainerImpl">
+    </gbean>
+
+    <gbean name="JettyRequestLog" class="org.apache.geronimo.jetty.requestlog.NCSARequestLog">
+        <reference name="JettyContainer"><name>WebContainer</name></reference>
+        <reference name="ServerInfo"><module>org/apache/geronimo/System</module><name>ServerInfo</name></reference>
+        <attribute name="filename">var/log/jetty_yyyy_mm_dd.log</attribute>
+        <attribute name="logDateFormat">dd/MMM/yyyy:HH:mm:ss ZZZ</attribute>
+        <attribute name="logTimeZone">GMT</attribute>
+    </gbean>
+
+    <gbean name="JettyWebConnector" class="org.apache.geronimo.jetty.connector.HTTPConnector">
+        <attribute name="host">${PlanServerHostname}"</attribute>
+        <attribute name="port">${PlanHTTPPort}</attribute>
+        <reference name="JettyContainer"><name>WebContainer</name></reference>
+        <attribute name="maxThreads">50</attribute>
+        <attribute name="minThreads">10</attribute>
+    </gbean>
+
+    <gbean name="JettySSLConnector" class="org.apache.geronimo.jetty.connector.HTTPSConnector">
+        <attribute name="host">${PlanServerHostname}"</attribute>
+        <attribute name="port">${PlanHTTPSPort}</attribute>
+        <attribute name="keystoreFileName">var/security/keystore</attribute>
+        <attribute name="keystoreType">JKS</attribute>
+        <attribute name="keystorePassword">secret</attribute>
+        <attribute name="keyPassword">secret</attribute>
+        <attribute name="clientAuthRequired">false</attribute>
+        <attribute name="secureProtocol">TLS</attribute>
+        <attribute name="maxThreads">50</attribute>
+        <attribute name="minThreads">10</attribute>
+        <reference name="JettyContainer"><name>WebContainer</name></reference>
+        <reference name="ServerInfo"><module>org/apache/geronimo/System</module><name>ServerInfo</name></reference>
+    </gbean>
+
+<!-- JETTY CONFIGURATION ENDS HERE -->
+

Modified: geronimo/trunk/modules/assembly/src/plan/jetty-deployer-config.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/jetty-deployer-config.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/jetty-deployer-config.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/jetty-deployer-config.xml Tue Sep  6 01:20:51 2005
@@ -26,7 +26,7 @@
 
 
 <gbean name="WebBuilder" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder">
-    <attribute name="defaultParentId">org/apache/geronimo/Server</attribute>
+    <attribute name="defaultParentId">org/apache/geronimo/Jetty,org/apache/geronimo/Server,org/apache/geronimo/Jetty,org/apache/geronimo/Security</attribute>
     <attribute name="defaultSessionTimeoutSeconds">1800</attribute>
     <attribute name="defaultContextPriorityClassloader">false</attribute>
     <attribute name="defaultWelcomeFiles">index.html,index.htm,index.jsp</attribute>

Modified: geronimo/trunk/modules/assembly/src/plan/jetty-runtime-deployer-config.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/jetty-runtime-deployer-config.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/jetty-runtime-deployer-config.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/jetty-runtime-deployer-config.xml Tue Sep  6 01:20:51 2005
@@ -25,7 +25,7 @@
     </dependency>
 
 <gbean name="WebBuilder" class="org.apache.geronimo.jetty.deployment.JettyModuleBuilder">
-    <attribute name="defaultParentId">org/apache/geronimo/Server</attribute>
+    <attribute name="defaultParentId">org/apache/geronimo/Server,org/apache/geronimo/Jetty,org/apache/geronimo/Security</attribute>
     <attribute name="defaultSessionTimeoutSeconds">1800</attribute>
     <attribute name="defaultContextPriorityClassloader">false</attribute>
     <attribute name="defaultWelcomeFiles">index.html,index.htm,index.jsp</attribute>

Modified: geronimo/trunk/modules/assembly/src/plan/naming-server-plan.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/naming-server-plan.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/naming-server-plan.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/naming-server-plan.xml Tue Sep  6 01:20:51 2005
@@ -28,6 +28,49 @@
     parentId="org/apache/geronimo/System"
     >
 
+    <dependency>
+        <uri>geronimo/jars/geronimo-management-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-j2ee-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-webservices-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo-spec/jars/geronimo-spec-j2ee-${geronimo_spec_j2ee_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-transaction-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>howl/jars/howl-logger-${howl_version}.jar</uri>
+    </dependency>
+    <!--transaction module requires tranql for cache class -->
+    <dependency>
+        <uri>tranql/jars/tranql-${tranql_version}.jar</uri>
+    </dependency>
+    <!-- tranql requires antlr -->
+    <dependency>
+        <uri>antlr/jars/antlr-${antlr_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-security-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>concurrent/jars/concurrent-${concurrent_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-core-${geronimo_version}.jar</uri>
+    </dependency>
+    <!-- remote login -->
+    <dependency>
+        <uri>activeio/jars/activeio-${activeio_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>geronimo/jars/geronimo-naming-${geronimo_version}.jar</uri>
+    </dependency>
+
     <!-- RMI Registry -->
     <gbean name="RMIRegistry" class="org.apache.geronimo.system.rmi.RMIRegistryService">
         <attribute name="port">${PlanNamingPort}</attribute>

Modified: geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/system-activemq-plan.xml Tue Sep  6 01:20:51 2005
@@ -1 +1,77 @@
-<?xml version="1.0" encoding="UTF-8"?>
<!--

    Copyright 2004 The Apache Software Foundation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->

<!-- $Rev: 47568 $ $Date: 2004-09-30 01:21:54 -0700 (Thu, 30 Sep 2004) $ -->

<configuration
    xmlns="http://geronimo.apache.org/xml/ns/deployment"
    configId="org/apache/geronimo/ActiveMQServer"
    parentId="org/apache/geronimo/SystemDatabase">    

    <dependency>
        <uri>activemq/jars/activemq-core-${activemq_vers
 ion}.jar</uri>
    </dependency>
    <dependency>
        <uri>activemq/jars/activemq-gbean-${activemq_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>activeio/jars/activeio-${activeio_version}.jar</uri>
    </dependency>

    <!-- management -->
    <gbean name="ActiveMQ" class="org.activemq.gbean.management.ActiveMQManagerGBean" />

    <!-- message broker -->
    <gbean name="ActiveMQ" class="org.activemq.gbean.ActiveMQContainerGBean">
        <attribute name="brokerName">possibly-unique-broker</attribute>
        <reference name="persistenceAdapter"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.cache,*</gbean-name></reference>
    </gbean>

    <gbean name="ActiveMQ.cache" class="org.activemq.store.cache.SimpleCachePersistenceAdapterGBean">
        <attribute name="cacheSize">10000</attribute>
        <reference name="longTermPersistence"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.journal,*</gbean-name></refer
 ence>
    </gbean>

    <gbean name="ActiveMQ.journal" class="org.activemq.store.journal.JournalPersistenceAdapterGBean">
        <!--TODO change to ServerInfo -->
        <reference name="serverInfo"><module>org/apache/geronimo/System</module><type>GBean</type><name>ServerInfo</name></reference>
        <attribute name="directory">var/activemq/journal</attribute>
        <attribute name="journalType">default</attribute>
        <reference name="longTermPersistence"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.jdbc,*</gbean-name></reference>
    </gbean>

    <gbean name="ActiveMQ.jdbc" class="org.activemq.store.jdbc.JDBCPersistenceAdapterGBean">
        <reference name="dataSource"><gbean-name>geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResource=org/apache/geronimo/SystemDatabase,j2eeType=JCAManagedConnectionFactory,name=SystemDatasource</gbean-name></reference>
    </gbean>

    <gbean gbeanName="geronimo.server:J2EEApplication=null,J2E
 EModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.tcp.default" class="org.activemq.gbean.ActiveMQConnectorGBean">
        <attribute name="protocol">tcp</attribute>
        <attribute name="host">${PlanServerHostname}</attribute>
        <attribute name="port">${PlanActiveMQPort}</attribute>
        <reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,name=ActiveMQ,*</gbean-name></reference>
    </gbean>

    <gbean gbeanName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.vm.localhost" class="org.activemq.gbean.ActiveMQConnectorGBean">
        <attribute name="protocol">vm</attribute>
        <attribute name="host">localhost</attribute>
        <attribute name="port">-1</attribute>
        <reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,nam
 e=ActiveMQ,*</gbean-name></reference>
    </gbean>    

</configuration>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2004 The Apache Software Foundation
+
+    Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+
+<!-- $Rev: 47568 $ $Date: 2004-09-30 01:21:54 -0700 (Thu, 30 Sep 2004) $ -->
+
+<configuration
+    xmlns="http://geronimo.apache.org/xml/ns/deployment"
+    configId="org/apache/geronimo/ActiveMQServer"
+    parentId="org/apache/geronimo/SystemDatabase">
+
+    <dependency>
+        <uri>activemq/jars/activemq-core-${activemq_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>activemq/jars/activemq-gbean-${activemq_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>activeio/jars/activeio-${activeio_version}.jar</uri>
+    </dependency>
+
+    <!-- management -->
+    <gbean name="ActiveMQ" class="org.activemq.gbean.management.ActiveMQManagerGBean" />
+
+    <!-- message broker -->
+    <gbean name="ActiveMQ" class="org.activemq.gbean.ActiveMQContainerGBean">
+        <attribute name="brokerName">possibly-unique-broker</attribute>
+        <reference name="persistenceAdapter"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.cache,*</gbean-name></reference>
+<!--        <reference name="ConnectorCollection"><gbean-name>geronimo.server:j2eeType=JMSConnector,broker=ActiveMQ,*</gbean-name></reference>-->
+    </gbean>
+
+    <gbean name="ActiveMQ.cache" class="org.activemq.store.cache.SimpleCachePersistenceAdapterGBean">
+        <attribute name="cacheSize">10000</attribute>
+        <reference name="longTermPersistence"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.journal,*</gbean-name></reference>
+    </gbean>
+
+    <gbean name="ActiveMQ.journal" class="org.activemq.store.journal.JournalPersistenceAdapterGBean">
+        <!--TODO change to ServerInfo -->
+        <reference name="serverInfo"><module>org/apache/geronimo/System</module><type>GBean</type><name>ServerInfo</name></reference>
+        <attribute name="directory">var/activemq/journal</attribute>
+        <attribute name="journalType">default</attribute>
+        <reference name="longTermPersistence"><gbean-name>geronimo.server:j2eeType=JMSPersistence,name=ActiveMQ.jdbc,*</gbean-name></reference>
+    </gbean>
+
+    <gbean name="ActiveMQ.jdbc" class="org.activemq.store.jdbc.JDBCPersistenceAdapterGBean">
+        <reference name="dataSource"><gbean-name>geronimo.server:J2EEApplication=null,J2EEServer=geronimo,JCAResource=org/apache/geronimo/SystemDatabase,j2eeType=JCAManagedConnectionFactory,name=SystemDatasource</gbean-name></reference>
+    </gbean>
+
+    <gbean gbeanName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.tcp.default" class="org.activemq.gbean.ActiveMQConnectorGBean">
+        <attribute name="protocol">tcp</attribute>
+        <attribute name="host">${PlanServerHostname}</attribute>
+        <attribute name="port">${PlanActiveMQPort}</attribute>
+        <reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,name=ActiveMQ,*</gbean-name></reference>
+    </gbean>
+
+    <gbean gbeanName="geronimo.server:J2EEApplication=null,J2EEModule=org/apache/geronimo/ActiveMQServer,J2EEServer=geronimo,j2eeType=JMSConnector,broker=ActiveMQ,name=ActiveMQ.vm.localhost" class="org.activemq.gbean.ActiveMQConnectorGBean">
+        <attribute name="protocol">vm</attribute>
+        <attribute name="host">localhost</attribute>
+        <attribute name="port">-1</attribute>
+        <reference name="activeMQContainer"><gbean-name>geronimo.server:j2eeType=JMSServer,name=ActiveMQ,*</gbean-name></reference>
+    </gbean>
+
+</configuration>

Modified: geronimo/trunk/modules/assembly/src/plan/tomcat-config.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/plan/tomcat-config.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/plan/tomcat-config.xml (original)
+++ geronimo/trunk/modules/assembly/src/plan/tomcat-config.xml Tue Sep  6 01:20:51 2005
@@ -1 +1,261 @@
-<!--

Copyright 2004 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<!-- $Rev: 111627 $ $Date: 2004-12-12 03:15:11 +0100 (Sun, 12 Dec 2004) $ -->

<!--
Configuration for the main ring of a Geronimo server.

This configuration should contain those services normally provided
by the server.
-->

<!-- TOMCAT CONFIGURATION STARTS HERE -->

    <dependency>
        <uri>geronimo/jars/geronimo-tomcat-${geronimo_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomc
 at/jars/catalina-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/catalina-optional-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/tomcat-coyote-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/tomcat-http-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/tomcat-util-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/naming-resources-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/servlets-default-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/servlets-invoker-${tomcat_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>commons-beanutils/jars/commons-beanutils-${commons_beanutils_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>commons-collections/jars/commons-collections-
 ${commons_collections_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>commons-digester/jars/commons-digester-${commons_digester_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>commons-el/jars/commons-el-${commons_el_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>commons-modeler/jars/commons-modeler-${commons_modeler_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>regexp/jars/regexp-${regexp_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>mx4j/jars/mx4j-${mx4j_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/jasper-compiler-${jasper_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/jasper-compiler-jdt-${jasper_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/jasper-runtime-${jasper_version}.jar</uri>
    </dependency>
    <dependency>
        <uri>tomcat/jars/tomcat-ajp-${tomcat_ajp_version}.ja
 r</uri>
    </dependency>
    <dependency>
        <uri>commons-el/jars/commons-el-${commons_el_version}.jar</uri>
    </dependency>

    <!-- JAAS Geronimo Login Configuration -->
    <gbean name="tomcat-properties-realm"
        class="org.apache.geronimo.security.realm.GenericSecurityRealm">
        <attribute name="realmName">Geronimo</attribute>
        <reference name="LoginModuleConfiguration">
            <name>tomcat-properties</name>
        </reference>
        <reference name="ServerInfo">
            <module>org/apache/geronimo/System</module>
            <name>ServerInfo</name>
        </reference>
        <reference name="LoginService"><module>org/apache/geronimo/Server</module><name>JaasLoginService</name></reference>
    </gbean>

    <gbean name="tomcat-properties" class="org.apache.geronimo.security.jaas.JaasLoginModuleUse">
        <attribute name="controlFlag">REQUIRED</attribute>
        <reference name="LoginModule">
            <name>properties-login<
 /name>
        </reference>
    </gbean>
    
    <!-- Tomcat WebManager service -->
    <gbean name="TomcatWebManager" class="org.apache.geronimo.tomcat.TomcatManagerImpl" />


    <!-- The following is the equivalent of the server.xml file, but done with GBeans -->

    <!-- The TomcatContainer/Service -->
    <gbean name="WebContainer" class="org.apache.geronimo.tomcat.TomcatContainer">
        <attribute name="catalinaHome">var/catalina</attribute>
        <reference name="EngineGBean">
            <name>TomcatEngine</name>
        </reference>
        <reference name="ServerInfo">
            <module>org/apache/geronimo/System</module>
            <name>ServerInfo</name>
        </reference>
    </gbean>

    <gbean name="TomcatWebConnector" class="org.apache.geronimo.tomcat.ConnectorGBean">
        <attribute name="name">HTTP</attribute>
        <attribute name="host">0.0.0.0</attribute>
        <attribute name="port">${PlanHTTPPort}</attribute>
        <attribute name
 ="maxHttpHeaderSizeBytes">8192</attribute>
        <attribute name="maxThreads">150</attribute>
        <attribute name="minSpareThreads">25</attribute>
        <attribute name="maxSpareThreads">75</attribute>
        <attribute name="hostLookupEnabled">false</attribute>
        <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
        <attribute name="acceptQueueSize">100</attribute>
        <attribute name="connectionTimeoutMillis">20000</attribute>
        <attribute name="uploadTimeoutEnabled">false</attribute>
        <reference name="TomcatContainer">
            <name>WebContainer</name>
        </reference>
    </gbean>

    <gbean name="TomcatAJPConnector" class="org.apache.geronimo.tomcat.ConnectorGBean">
        <attribute name="protocol">AJP</attribute>
        <attribute name="name">AJP</attribute>
        <attribute name="host">0.0.0.0</attribute>
        <attribute name="port">${PlanAJPPort}</attribute>
        <attribute name="hostLookupEnabled">fal
 se</attribute>
        <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
        <reference name="TomcatContainer">
            <name>WebContainer</name>
        </reference>
    </gbean>

    <!-- SSL support
    NOTE: If keystoreFile is a relative path, it is relative to GERONIMO_HOME
    -->
    <gbean name="TomcatWebSSLConnector" class="org.apache.geronimo.tomcat.HttpsConnectorGBean">
        <attribute name="name">HTTPS</attribute>
        <attribute name="host">0.0.0.0</attribute>
        <attribute name="port">${PlanHTTPSPort}</attribute>
        <attribute name="maxHttpHeaderSizeBytes">8192</attribute>
        <attribute name="maxThreads">150</attribute>
        <attribute name="minSpareThreads">25</attribute>
        <attribute name="maxSpareThreads">75</attribute>
        <attribute name="hostLookupEnabled">false</attribute>
        <attribute name="acceptQueueSize">100</attribute>
        <attribute name="uploadTimeoutEnabled">false</attribute>
        <
 attribute name="clientAuthRequired">false</attribute>
        <attribute name="secureProtocol">TLS</attribute>
        <attribute name="keystoreFileName">var/security/keystore</attribute>
        <attribute name="keystorePassword">secret</attribute>
        <reference name="TomcatContainer"><name>WebContainer</name></reference>
        <reference name="ServerInfo">
            <module>org/apache/geronimo/System</module>
            <name>ServerInfo</name>
        </reference>
    </gbean>

    <!-- Engine -->
    <gbean name="TomcatEngine" class="org.apache.geronimo.tomcat.EngineGBean">
        <attribute name="className">org.apache.geronimo.tomcat.TomcatEngine</attribute>
        <attribute name="initParams">
            name=Geronimo
            defaultHost=${PlanServerHostname}
        </attribute>
        <references name="Hosts">
            <pattern><gbean-name>geronimo.server:j2eeType=Host,*</gbean-name></pattern>
        </references>
        <reference name="RealmGB
 ean">
            <name>TomcatJAASRealm</name>
        </reference>
        <reference name="TomcatValveChain">
            <name>FirstValve</name>
        </reference> 
    </gbean>

    <!-- Valve -->
    <gbean name="FirstValve" class="org.apache.geronimo.tomcat.ValveGBean">
        <attribute name="className">org.apache.catalina.valves.AccessLogValve</attribute>
        <attribute name="initParams">
            prefix=${PlanServerHostname}_access_log.
            suffix=.txt
            pattern=common
        </attribute>
    <!-- Uncomment this section to add second valve for a chain.  This example consists of the Tomcat
          AccessLogValve and SingleSignOn. Notice the dependency that chains the FirstValve with the
          SecondValve.  The valves will be added in the order that they are chained.
        <reference name="NextValve"><moduleType>J2EEModule</moduleType><name>SecondValve</name></reference>
    -->
    </gbean>
    <!-- Uncomment this section to add t
 his valve  to the chain.  This example consists of the Tomcat
          SingleSignOn. 
    <gbean name="SecondValve" class="org.apache.geronimo.tomcat.ValveGBean">
        <attribute name="className">org.apache.catalina.authenticator.SingleSignOn</attribute>
    </gbean>
    -->

    <!-- Realm -->
    <!-- This is an example TomcatJAASRealm -->
    <gbean name="TomcatJAASRealm" class="org.apache.geronimo.tomcat.RealmGBean">
        <attribute name="className">org.apache.geronimo.tomcat.realm.TomcatJAASRealm</attribute>
        <attribute name="initParams">
            userClassNames=org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
            roleClassNames=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
        </attribute>
    </gbean>

    <!-- Host -->
    <gbean name="TomcatHost" class="org.apache.geronimo.tomcat.HostGBean">
        <attribute name="className">org.apache.catalina.core.StandardHost</attribute>
        <attribute nam
 e="initParams">
            name=${PlanServerHostname}
            appBase=
            workDir=work
        </attribute>
        <!-- You may attach a Realm to a Host as well.  Only attach to the Engine *or* the Host.
             Attempting to add the same Realm GBeans to the Engine *and* Host at the same time
             will result in an error.

             Uncomment this to add the Realm to the Host 
        <reference name="RealmGBean">
            <name>TomcatJAASRealm</name>
        </reference>
        -->
        <!-- You may attach a Valve chain to a Host as well.  Only attach to the Engine *or* the Host.
             Attempting to add the same valve GBeans to the Engine *and* Host at the same time
             will result in an error.

             Uncomment this to add the valve chain to the Host 
        <reference name="TomcatValveChain">
            <name>FirstValve</name>
        </reference> 
        -->
    </gbean>

<!-- TOMCAT CONFIGURATION ENDS HERE -
 ->
\ No newline at end of file
+<!--
+
+Copyright 2004 The Apache Software Foundation
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+-->
+
+<!-- $Rev: 111627 $ $Date: 2004-12-12 03:15:11 +0100 (Sun, 12 Dec 2004) $ -->
+
+<!--
+Configuration for the main ring of a Geronimo server.
+
+This configuration should contain those services normally provided
+by the server.
+-->
+
+<!-- TOMCAT CONFIGURATION STARTS HERE -->
+
+    <dependency>
+        <uri>geronimo/jars/geronimo-tomcat-${geronimo_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/catalina-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/catalina-optional-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/tomcat-coyote-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/tomcat-http-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/tomcat-util-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/naming-resources-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/servlets-default-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/servlets-invoker-${tomcat_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-beanutils/jars/commons-beanutils-${commons_beanutils_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-collections/jars/commons-collections-${commons_collections_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-digester/jars/commons-digester-${commons_digester_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-el/jars/commons-el-${commons_el_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-modeler/jars/commons-modeler-${commons_modeler_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>regexp/jars/regexp-${regexp_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>mx4j/jars/mx4j-${mx4j_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/jasper-compiler-${jasper_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/jasper-compiler-jdt-${jasper_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/jasper-runtime-${jasper_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>tomcat/jars/tomcat-ajp-${tomcat_ajp_version}.jar</uri>
+    </dependency>
+    <dependency>
+        <uri>commons-el/jars/commons-el-${commons_el_version}.jar</uri>
+    </dependency>
+
+    <!-- JAAS Geronimo Login Configuration -->
+    <gbean name="tomcat-properties-realm"
+        class="org.apache.geronimo.security.realm.GenericSecurityRealm">
+        <attribute name="realmName">Geronimo</attribute>
+        <reference name="LoginModuleConfiguration">
+            <name>tomcat-properties</name>
+        </reference>
+        <reference name="ServerInfo">
+            <module>org/apache/geronimo/System</module>
+            <name>ServerInfo</name>
+        </reference>
+        <reference name="LoginService"><module>org/apache/geronimo/Server</module><name>JaasLoginService</name></reference>
+    </gbean>
+
+    <gbean name="tomcat-properties" class="org.apache.geronimo.security.jaas.JaasLoginModuleUse">
+        <attribute name="controlFlag">REQUIRED</attribute>
+        <reference name="LoginModule">
+            <name>properties-login</name>
+        </reference>
+    </gbean>
+
+    <!-- The following is the equivalent of the server.xml file, but done with GBeans -->
+
+    <!-- The TomcatContainer/Service -->
+    <gbean name="WebContainer" class="org.apache.geronimo.tomcat.TomcatContainer">
+        <attribute name="catalinaHome">var/catalina</attribute>
+        <reference name="EngineGBean">
+            <name>TomcatEngine</name>
+        </reference>
+        <reference name="ServerInfo">
+            <module>org/apache/geronimo/System</module>
+            <name>ServerInfo</name>
+        </reference>
+    </gbean>
+
+    <gbean name="TomcatWebConnector" class="org.apache.geronimo.tomcat.ConnectorGBean">
+        <attribute name="name">HTTP</attribute>
+        <attribute name="host">0.0.0.0</attribute>
+        <attribute name="port">${PlanHTTPPort}</attribute>
+        <attribute name="maxHttpHeaderSizeBytes">8192</attribute>
+        <attribute name="maxThreads">150</attribute>
+        <attribute name="minSpareThreads">25</attribute>
+        <attribute name="maxSpareThreads">75</attribute>
+        <attribute name="hostLookupEnabled">false</attribute>
+        <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
+        <attribute name="acceptQueueSize">100</attribute>
+        <attribute name="connectionTimeoutMillis">20000</attribute>
+        <attribute name="uploadTimeoutEnabled">false</attribute>
+        <reference name="TomcatContainer">
+            <name>WebContainer</name>
+        </reference>
+    </gbean>
+
+    <gbean name="TomcatAJPConnector" class="org.apache.geronimo.tomcat.ConnectorGBean">
+        <attribute name="protocol">AJP</attribute>
+        <attribute name="name">AJP</attribute>
+        <attribute name="host">0.0.0.0</attribute>
+        <attribute name="port">${PlanAJPPort}</attribute>
+        <attribute name="hostLookupEnabled">false</attribute>
+        <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
+        <reference name="TomcatContainer">
+            <name>WebContainer</name>
+        </reference>
+    </gbean>
+
+    <!-- SSL support
+    NOTE: If keystoreFile is a relative path, it is relative to GERONIMO_HOME
+    -->
+    <gbean name="TomcatWebSSLConnector" class="org.apache.geronimo.tomcat.HttpsConnectorGBean">
+        <attribute name="name">HTTPS</attribute>
+        <attribute name="host">0.0.0.0</attribute>
+        <attribute name="port">${PlanHTTPSPort}</attribute>
+        <attribute name="maxHttpHeaderSizeBytes">8192</attribute>
+        <attribute name="maxThreads">150</attribute>
+        <attribute name="minSpareThreads">25</attribute>
+        <attribute name="maxSpareThreads">75</attribute>
+        <attribute name="hostLookupEnabled">false</attribute>
+        <attribute name="acceptQueueSize">100</attribute>
+        <attribute name="uploadTimeoutEnabled">false</attribute>
+        <attribute name="clientAuthRequired">false</attribute>
+        <attribute name="secureProtocol">TLS</attribute>
+        <attribute name="keystoreFileName">var/security/keystore</attribute>
+        <attribute name="keystorePassword">secret</attribute>
+        <reference name="TomcatContainer"><name>WebContainer</name></reference>
+        <reference name="ServerInfo">
+            <module>org/apache/geronimo/System</module>
+            <name>ServerInfo</name>
+        </reference>
+    </gbean>
+
+    <!-- Engine -->
+    <gbean name="TomcatEngine" class="org.apache.geronimo.tomcat.EngineGBean">
+        <attribute name="className">org.apache.geronimo.tomcat.TomcatEngine</attribute>
+        <attribute name="initParams">
+            name=Geronimo
+            defaultHost=${PlanServerHostname}
+        </attribute>
+        <references name="Hosts">
+            <pattern><gbean-name>geronimo.server:j2eeType=Host,*</gbean-name></pattern>
+        </references>
+        <reference name="RealmGBean">
+            <name>TomcatJAASRealm</name>
+        </reference>
+        <reference name="TomcatValveChain">
+            <name>FirstValve</name>
+        </reference> 
+    </gbean>
+
+    <!-- Valve -->
+    <gbean name="FirstValve" class="org.apache.geronimo.tomcat.ValveGBean">
+        <attribute name="className">org.apache.catalina.valves.AccessLogValve</attribute>
+        <attribute name="initParams">
+            prefix=${PlanServerHostname}_access_log.
+            suffix=.txt
+            pattern=common
+        </attribute>
+    <!-- Uncomment this section to add second valve for a chain.  This example consists of the Tomcat
+          AccessLogValve and SingleSignOn. Notice the dependency that chains the FirstValve with the
+          SecondValve.  The valves will be added in the order that they are chained.
+        <reference name="NextValve"><moduleType>J2EEModule</moduleType><name>SecondValve</name></reference>
+    -->
+    </gbean>
+    <!-- Uncomment this section to add this valve  to the chain.  This example consists of the Tomcat
+          SingleSignOn. 
+    <gbean name="SecondValve" class="org.apache.geronimo.tomcat.ValveGBean">
+        <attribute name="className">org.apache.catalina.authenticator.SingleSignOn</attribute>
+    </gbean>
+    -->
+
+    <!-- Realm -->
+    <!-- This is an example TomcatJAASRealm -->
+    <gbean name="TomcatJAASRealm" class="org.apache.geronimo.tomcat.RealmGBean">
+        <attribute name="className">org.apache.geronimo.tomcat.realm.TomcatJAASRealm</attribute>
+        <attribute name="initParams">
+            userClassNames=org.apache.geronimo.security.realm.providers.GeronimoUserPrincipal
+            roleClassNames=org.apache.geronimo.security.realm.providers.GeronimoGroupPrincipal
+        </attribute>
+    </gbean>
+
+    <!-- Host -->
+    <gbean name="TomcatHost" class="org.apache.geronimo.tomcat.HostGBean">
+        <attribute name="className">org.apache.catalina.core.StandardHost</attribute>
+        <attribute name="initParams">
+            name=${PlanServerHostname}
+            appBase=
+            workDir=work
+        </attribute>
+        <!-- You may attach a Realm to a Host as well.  Only attach to the Engine *or* the Host.
+             Attempting to add the same Realm GBeans to the Engine *and* Host at the same time
+             will result in an error.
+
+             Uncomment this to add the Realm to the Host 
+        <reference name="RealmGBean">
+            <name>TomcatJAASRealm</name>
+        </reference>
+        -->
+        <!-- You may attach a Valve chain to a Host as well.  Only attach to the Engine *or* the Host.
+             Attempting to add the same valve GBeans to the Engine *and* Host at the same time
+             will result in an error.
+
+             Uncomment this to add the valve chain to the Host 
+        <reference name="TomcatValveChain">
+            <name>FirstValve</name>
+        </reference> 
+        -->
+    </gbean>
+
+<!-- TOMCAT CONFIGURATION ENDS HERE -->
+

Modified: geronimo/trunk/modules/assembly/src/var/config/config.list
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/var/config/config.list?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/var/config/config.list (original)
+++ geronimo/trunk/modules/assembly/src/var/config/config.list Tue Sep  6 01:20:51 2005
@@ -1,8 +1,10 @@
 org/apache/geronimo/System
 org/apache/geronimo/RMINaming
 org/apache/geronimo/Server
+org/apache/geronimo/Security
 org/apache/geronimo/SystemDatabase
 org/apache/geronimo/SystemJMS
 org/apache/geronimo/RuntimeDeployer
+org/apache/geronimo/TomcatRuntimeDeployer
 org/apache/geronimo/applications/Welcome
 org/apache/geronimo/Console

Modified: geronimo/trunk/modules/assembly/src/var/config/config.xml
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/assembly/src/var/config/config.xml?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/assembly/src/var/config/config.xml (original)
+++ geronimo/trunk/modules/assembly/src/var/config/config.xml Tue Sep  6 01:20:51 2005
@@ -1,65 +1,83 @@
 <?xml version="1.0" encoding="UTF-8"?>
 
 <attributes>
-  <configuration name="org/apache/geronimo/RMINaming">
-    <gbean name="RMIRegistry">
-      <attribute name="port">${PlanNamingPort}</attribute>
-    </gbean>
-    <gbean name="NamingProperties">
-      <!-- Check whether this really works if host name is 0.0.0.0 -->
-      <attribute name="namingProviderUrl">rmi://${PlanServerHostname}:${PlanNamingPort}</attribute>
-    </gbean>
-  </configuration>
-  <configuration name="org/apache/geronimo/Server">
-    <gbean name="JettyWebConnector">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanHTTPPort}</attribute>
-      <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
-    </gbean>
-    <gbean name="JettySSLConnector">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanHTTPSPort}</attribute>
-    </gbean>
-    <gbean name="TomcatWebConnector">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanHTTPPort}</attribute>
-      <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
-    </gbean>
-    <gbean name="TomcatAJPConnector">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanAJPPort}</attribute>
-      <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
-    </gbean>
-    <gbean name="TomcatWebSSLConnector">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanHTTPSPort}</attribute>
-    </gbean>
-    <gbean name="openejb:type=NetworkService,name=EJB">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanOpenEJBPort}</attribute>
-    </gbean>
-    <gbean name="geronimo.remoting:target=JaasLoginServiceRemotingServer">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanRemoteLoginPort}</attribute>
-    </gbean>
-    <!-- Add CORBA settings PlanIIOPPort, PlanORBPort, PlanCOSNamingPort -->
-  </configuration>
-  <configuration name="org/apache/geronimo/ActiveMQServer">
-    <gbean name="ActiveMQ.tcp.default">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanActiveMQPort}</attribute>
-    </gbean>
-  </configuration>
-  <configuration name="org/apache/geronimo/SystemDatabase">
-    <gbean name="DerbyNetwork">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanDerbyPort}</attribute>
-    </gbean>
-  </configuration>
-  <configuration name="org/apache/geronimo/Directory">
-    <gbean name="geronimo.server:name=DirectoryService">
-      <attribute name="host">${PlanServerHostname}</attribute>
-      <attribute name="port">${PlanLdapPort}</attribute>
-    </gbean>
-  </configuration>
+    <configuration name="org/apache/geronimo/RuntimeDeployer">
+        <gbean name="WebBuilder">
+            <attribute name="defaultNamespace">http://geronimo.apache.org/xml/ns/web/tomcat</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/RMINaming">
+        <gbean name="RMIRegistry">
+            <attribute name="port">${PlanNamingPort}</attribute>
+        </gbean>
+        <gbean name="NamingProperties">
+            <!-- Check whether this really works if host name is 0.0.0.0 -->
+            <attribute name="namingProviderUrl">rmi://${PlanServerHostname}:${PlanNamingPort}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/Jetty">
+        <gbean name="JettyWebConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanHTTPPort}</attribute>
+            <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
+        </gbean>
+        <gbean name="JettySSLConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanHTTPSPort}</attribute>
+        </gbean>
+        <gbean name="JettyClientCertSSLConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanClientCertHTTPSPort}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/Tomcat">
+        <gbean name="TomcatWebConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanHTTPPort2}</attribute>
+            <attribute name="redirectPort">${PlanHTTPSPort}</attribute>
+        </gbean>
+        <gbean name="TomcatAJPConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanAJPPort2}</attribute>
+            <attribute name="redirectPort">${PlanHTTPSPort2}</attribute>
+        </gbean>
+        <gbean name="TomcatWebSSLConnector">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanHTTPSPort2}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/Server">
+        <gbean name="openejb:type=NetworkService,name=EJB">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanOpenEJBPort}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/Security">
+        <gbean name="geronimo.remoting:target=JaasLoginServiceRemotingServer">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanRemoteLoginPort}</attribute>
+        </gbean>
+        <gbean name="JMXConnector">
+            <attribute name="url">service:jmx:rmi://${PlanServerHostname}/jndi/rmi:/JMXConnector</attribute>
+        </gbean>
+        <!-- Add CORBA settings PlanIIOPPort, PlanORBPort, PlanCOSNamingPort -->
+    </configuration>
+    <configuration name="org/apache/geronimo/ActiveMQServer">
+        <gbean name="ActiveMQ.tcp.default">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanActiveMQPort}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/SystemDatabase">
+        <gbean name="DerbyNetwork">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanDerbyPort}</attribute>
+        </gbean>
+    </configuration>
+    <configuration name="org/apache/geronimo/Directory">
+        <gbean name="geronimo.server:name=DirectoryService">
+            <attribute name="host">${PlanServerHostname}</attribute>
+            <attribute name="port">${PlanLdapPort}</attribute>
+        </gbean>
+    </configuration>
 </attributes>

Modified: geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/client-builder/src/java/org/apache/geronimo/client/builder/AppClientModuleBuilder.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- 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 Tue Sep  6 01:20:51 2005
@@ -26,8 +26,10 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.StringTokenizer;
+import java.util.List;
 import java.util.Map;
+import java.util.StringTokenizer;
+import java.util.Arrays;
 import java.util.jar.Attributes;
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
@@ -52,20 +54,22 @@
 import org.apache.geronimo.j2ee.deployment.EJBReferenceBuilder;
 import org.apache.geronimo.j2ee.deployment.Module;
 import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
+import org.apache.geronimo.j2ee.deployment.NamingContext;
 import org.apache.geronimo.j2ee.deployment.RefContext;
 import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
 import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder;
-import org.apache.geronimo.j2ee.deployment.NamingContext;
 import org.apache.geronimo.j2ee.j2eeobjectnames.J2eeContext;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.j2ee.management.impl.J2EEAppClientModuleImpl;
 import org.apache.geronimo.kernel.Kernel;
+import org.apache.geronimo.kernel.config.ConfigurationData;
 import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
-import org.apache.geronimo.kernel.config.ConfigurationData;
 import org.apache.geronimo.kernel.repository.Repository;
 import org.apache.geronimo.naming.deployment.ENCConfigBuilder;
 import org.apache.geronimo.schema.SchemaConversionUtils;
+import org.apache.geronimo.security.deploy.DefaultPrincipal;
+import org.apache.geronimo.security.deployment.SecurityBuilder;
 import org.apache.geronimo.xbeans.geronimo.client.GerApplicationClientDocument;
 import org.apache.geronimo.xbeans.geronimo.client.GerApplicationClientType;
 import org.apache.geronimo.xbeans.geronimo.client.GerResourceType;
@@ -74,8 +78,6 @@
 import org.apache.geronimo.xbeans.j2ee.ApplicationClientType;
 import org.apache.geronimo.xbeans.j2ee.EjbLocalRefType;
 import org.apache.geronimo.xbeans.j2ee.MessageDestinationType;
-import org.apache.geronimo.security.deploy.DefaultPrincipal;
-import org.apache.geronimo.security.deployment.SecurityBuilder;
 import org.apache.xmlbeans.XmlException;
 import org.apache.xmlbeans.XmlObject;
 
@@ -85,8 +87,8 @@
  */
 public class AppClientModuleBuilder implements ModuleBuilder {
 
-    private final URI[] defaultClientParentId;
-    private final URI[] defaultServerParentId;
+    private final List defaultClientParentId;
+    private final List defaultServerParentId;
     private final ObjectName corbaGBeanObjectName;
     private final Kernel kernel;
     private final Repository repository;
@@ -99,6 +101,7 @@
     private final ModuleBuilder connectorModuleBuilder;
     private final ResourceReferenceBuilder resourceReferenceBuilder;
     private final ServiceReferenceBuilder serviceReferenceBuilder;
+    private static final String GERAPPCLIENT_NAMESPACE = GerApplicationClientDocument.type.getDocumentElementName().getNamespaceURI();
 
     public AppClientModuleBuilder(URI[] defaultClientParentId,
                                   URI[] defaultServerParentId,
@@ -111,9 +114,9 @@
                                   ServiceReferenceBuilder serviceReferenceBuilder,
                                   ConfigurationStore store,
                                   Repository repository,
-                                  Kernel kernel) {
-        this.defaultClientParentId = defaultClientParentId;
-        this.defaultServerParentId = defaultServerParentId;
+                                  Kernel kernel) throws DeploymentException {
+        this.defaultClientParentId = defaultClientParentId == null? Collections.EMPTY_LIST: Arrays.asList(defaultClientParentId);
+        this.defaultServerParentId = defaultServerParentId == null? Collections.EMPTY_LIST: Arrays.asList(defaultServerParentId);
         this.corbaGBeanObjectName = corbaGBeanObjectName;
         this.kernel = kernel;
         this.repository = repository;
@@ -174,16 +177,17 @@
             throw new DeploymentException("Invalid configId " + gerAppClient.getConfigId(), e);
         }
 
-        URI[] parentId = null;
+        List parentId = null;
         if (gerAppClient.isSetParentId()) {
             String parentIdString = gerAppClient.getParentId();
             try {
-                parentId = new URI[] {new URI(parentIdString)};
+                parentId = new ArrayList();
+                parentId.add(new URI(parentIdString));
             } catch (URISyntaxException e) {
                 throw new DeploymentException("Could not create parentId uri from " + parentIdString, e);
             }
         } else {
-            parentId = defaultServerParentId;
+            parentId = new ArrayList(defaultServerParentId);
         }
 
         return new AppClientModule(standAlone, configId, parentId, moduleFile, targetPath, appClient, gerAppClient, specDD);
@@ -263,6 +267,7 @@
     }
 
     public void installModule(JarFile earFile, EARContext earContext, Module module) throws DeploymentException {
+        earContext.addParentId(defaultServerParentId);
         // extract the app client jar file into a standalone packed jar file and add the contents to the output
         JarFile moduleFile = module.getModuleFile();
         try {
@@ -341,10 +346,8 @@
                 try {
 
                     URI clientConfigId = URI.create(geronimoAppClient.getClientConfigId());
-                    URI[] clientParentId = ServiceConfigBuilder.getParentID(geronimoAppClient.getClientParentId(), geronimoAppClient.getImportArray());
-                    if (clientParentId == null) {
-                        clientParentId = defaultClientParentId;
-                    }
+                    List clientParentId = ServiceConfigBuilder.getParentID(geronimoAppClient.getClientParentId(), geronimoAppClient.getImportArray());
+                    clientParentId.addAll(defaultClientParentId);
                     appClientDeploymentContext = new EARContext(appClientDir,
                             clientConfigId,
                             ConfigurationModuleType.CAR,
@@ -533,20 +536,8 @@
         }
     }
 
-    private URI[] getParentIds(String parentIdString) throws DeploymentException {
-        URI[] clientParentId;
-        try {
-             String[] parentIdStrings = parentIdString.split(",");
-             clientParentId = new URI[parentIdStrings.length];
-             for (int i = 0; i < parentIdStrings.length; i++) {
-                 String idString = parentIdStrings[i];
-                 URI parent = new URI(idString);
-                 clientParentId[i] = parent;
-             }
-         } catch (URISyntaxException e) {
-             throw new DeploymentException("Invalid parentId " + parentIdString, e);
-         }
-        return clientParentId;
+    public String getSchemaNamespace() {
+        return GERAPPCLIENT_NAMESPACE;
     }
 
     public void addManifestClassPath(DeploymentContext deploymentContext, JarFile earFile, JarFile jarFile, URI jarFileLocation) throws DeploymentException {

Modified: geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/client-builder/src/test/org/apache/geronimo/client/builder/PlanParsingTest.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- 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 Tue Sep  6 01:20:51 2005
@@ -12,8 +12,12 @@
  */
 public class PlanParsingTest extends TestCase {
 
-    private AppClientModuleBuilder builder = new AppClientModuleBuilder(null, null, null, null, null, null, null, null, null, null, null, null);
+    private AppClientModuleBuilder builder;
     File basedir = new File(System.getProperty("basedir", "."));
+
+    protected void setUp() throws Exception {
+        builder = new AppClientModuleBuilder(null, null, null, null, null, null, null, null, null, null, null, null);
+    }
 
     public void testResourceRef() throws Exception {
         File resourcePlan = new File(basedir, "src/test-resources/plans/plan1.xml");

Modified: geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/java/org/apache/geronimo/connector/deployment/ConnectorModuleBuilder.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- 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 Tue Sep  6 01:20:51 2005
@@ -30,6 +30,10 @@
 import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
 import java.util.jar.JarFile;
 import java.util.zip.ZipEntry;
 import javax.management.MalformedObjectNameException;
@@ -61,6 +65,7 @@
 import org.apache.geronimo.deployment.util.DeploymentUtil;
 import org.apache.geronimo.deployment.xbeans.DependencyType;
 import org.apache.geronimo.deployment.xbeans.GbeanType;
+import org.apache.geronimo.deployment.DeploymentContext;
 import org.apache.geronimo.gbean.DynamicGAttributeInfo;
 import org.apache.geronimo.gbean.GAttributeInfo;
 import org.apache.geronimo.gbean.GBeanData;
@@ -114,9 +119,10 @@
     private final int defaultIdleTimeoutMinutes;
     private final boolean defaultXATransactionCaching;
     private final boolean defaultXAThreadCaching;
-    private final URI[] defaultParentId;
+    private final List defaultParentId;
     private final Repository repository;
     private final Kernel kernel;
+    private static final String GERCONNECTOR_NAMESPACE = GerConnectorDocument.type.getDocumentElementName().getNamespaceURI();
 
     public ConnectorModuleBuilder(URI[] defaultParentId,
                                   int defaultMaxSize,
@@ -128,7 +134,8 @@
                                   Repository repository,
                                   Kernel kernel) {
         assert repository != null;
-        this.defaultParentId = defaultParentId;
+        this.defaultParentId = defaultParentId == null ? Collections.EMPTY_LIST : Arrays.asList(defaultParentId);
+
         this.defaultMaxSize = defaultMaxSize;
         this.defaultMinSize = defaultMinSize;
         this.defaultBlockingTimeoutMilliseconds = defaultBlockingTimeoutMilliseconds;
@@ -219,16 +226,17 @@
             throw new DeploymentException("Invalid configId " + gerConnector.getConfigId(), e);
         }
 
-        URI[] parentId = ServiceConfigBuilder.getParentID(gerConnector.getParentId(), gerConnector.getImportArray());
-        if (parentId == null) {
-            parentId = defaultParentId;
-        }
-        assert parentId != null;
-        assert parentId.length >0;
+        List parentId = ServiceConfigBuilder.getParentID(gerConnector.getParentId(), gerConnector.getImportArray());
         return new ConnectorModule(standAlone, configId, parentId, moduleFile, targetPath, connector, gerConnector, specDD);
     }
 
     public void installModule(JarFile earFile, EARContext earContext, Module module) throws DeploymentException {
+        GerConnectorType vendorConnector = (GerConnectorType) module.getVendorDD();
+        //suppressing the default parentid is mostly useful for deploying standalone connectors on the app client.
+        //The defaultParentId normally pulls in and tries to start all the base server gbeans.
+        if (!vendorConnector.getSuppressDefaultParentId()) {
+            earContext.addParentId(defaultParentId);
+        }
         try {
             JarFile moduleFile = module.getModuleFile();
 
@@ -249,7 +257,6 @@
                 }
             }
 
-            GerConnectorType vendorConnector = (GerConnectorType) module.getVendorDD();
             DependencyType[] dependencies = vendorConnector.getDependencyArray();
             ServiceConfigBuilder.addDependencies(earContext, dependencies, repository);
         } catch (IOException e) {
@@ -416,6 +423,10 @@
         addConnectorGBeans(earContext, resourceJ2eeContext, resourceAdapterModuleData, (ConnectorType) specDD, geronimoConnector, cl);
     }
 
+    public String getSchemaNamespace() {
+        return GERCONNECTOR_NAMESPACE;
+    }
+
     private void addConnectorGBeans(EARContext earContext, J2eeContext moduleJ2eeContext, GBeanData resourceAdapterModuleData, ConnectorType connector, GerConnectorType geronimoConnector, ClassLoader cl) throws DeploymentException {
         ResourceadapterType resourceadapter = connector.getResourceadapter();
 
@@ -841,13 +852,13 @@
     static {
         GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder(ConnectorModuleBuilder.class, NameFactory.MODULE_BUILDER);
 
-        infoBuilder.addAttribute("defaultParentId", URI[].class, true);
-        infoBuilder.addAttribute("defaultMaxSize", int.class, true);
-        infoBuilder.addAttribute("defaultMinSize", int.class, true);
-        infoBuilder.addAttribute("defaultBlockingTimeoutMilliseconds", int.class, true);
-        infoBuilder.addAttribute("defaultIdleTimeoutMinutes", int.class, true);
-        infoBuilder.addAttribute("defaultXATransactionCaching", boolean.class, true);
-        infoBuilder.addAttribute("defaultXAThreadCaching", boolean.class, true);
+        infoBuilder.addAttribute("defaultParentId", URI[].class, true, true);
+        infoBuilder.addAttribute("defaultMaxSize", int.class, true, true);
+        infoBuilder.addAttribute("defaultMinSize", int.class, true, true);
+        infoBuilder.addAttribute("defaultBlockingTimeoutMilliseconds", int.class, true, true);
+        infoBuilder.addAttribute("defaultIdleTimeoutMinutes", int.class, true, true);
+        infoBuilder.addAttribute("defaultXATransactionCaching", boolean.class, true, true);
+        infoBuilder.addAttribute("defaultXAThreadCaching", boolean.class, true, true);
 
         infoBuilder.addReference("Repository", Repository.class, NameFactory.GERONIMO_SERVICE);
         infoBuilder.addAttribute("kernel", Kernel.class, false);

Modified: geronimo/trunk/modules/connector-builder/src/schema/geronimo-connector.xsd
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/schema/geronimo-connector.xsd?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/schema/geronimo-connector.xsd (original)
+++ geronimo/trunk/modules/connector-builder/src/schema/geronimo-connector.xsd Tue Sep  6 01:20:51 2005
@@ -311,6 +311,7 @@
         <xs:attribute name="version" type="ger:versionType" use="optional"/>
         <xs:attribute name="configId" type="xs:string" use="required"/>
         <xs:attribute name="parentId" type="xs:string" use="optional"/>
+        <xs:attribute name="suppressDefaultParentId" type="xs:boolean" use="optional"/>
     </xs:complexType>
 
     <xs:simpleType name="versionType">

Modified: geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java (original)
+++ geronimo/trunk/modules/connector-builder/src/test/org/apache/geronimo/connector/deployment/ConnectorModuleBuilderTest.java Tue Sep  6 01:20:51 2005
@@ -52,23 +52,23 @@
 import org.apache.geronimo.j2ee.deployment.EJBReferenceBuilder;
 import org.apache.geronimo.j2ee.deployment.Module;
 import org.apache.geronimo.j2ee.deployment.ModuleBuilder;
+import org.apache.geronimo.j2ee.deployment.NamingContext;
 import org.apache.geronimo.j2ee.deployment.RefContext;
 import org.apache.geronimo.j2ee.deployment.ResourceReferenceBuilder;
 import org.apache.geronimo.j2ee.deployment.ServiceReferenceBuilder;
-import org.apache.geronimo.j2ee.deployment.NamingContext;
 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.kernel.Kernel;
 import org.apache.geronimo.kernel.KernelFactory;
-import org.apache.geronimo.kernel.config.ConfigurationManagerImpl;
 import org.apache.geronimo.kernel.config.Configuration;
 import org.apache.geronimo.kernel.config.ConfigurationData;
+import org.apache.geronimo.kernel.config.ConfigurationManager;
+import org.apache.geronimo.kernel.config.ConfigurationManagerImpl;
 import org.apache.geronimo.kernel.config.ConfigurationStore;
 import org.apache.geronimo.kernel.config.InvalidConfigException;
 import org.apache.geronimo.kernel.config.NoSuchConfigException;
-import org.apache.geronimo.kernel.config.ConfigurationManager;
 import org.apache.geronimo.kernel.jmx.JMXUtil;
 import org.apache.geronimo.kernel.management.State;
 import org.apache.geronimo.kernel.repository.Repository;
@@ -626,7 +626,7 @@
             return null;
         }
 
-        public List listConfiguations() {
+        public List listConfigurations() {
             return null;
         }
 

Modified: geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java (original)
+++ geronimo/trunk/modules/deployment/src/java/org/apache/geronimo/deployment/DeploymentContext.java Tue Sep  6 01:20:51 2005
@@ -32,10 +32,13 @@
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.Iterator;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Set;
 import java.util.StringTokenizer;
+import java.util.Collection;
+import java.util.LinkedHashMap;
+import java.util.HashSet;
+import java.util.Map;
 import java.util.jar.Attributes;
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
@@ -64,7 +67,7 @@
  */
 public class DeploymentContext {
 
-    private static final ClassLoader[] DEFAULT_PARENT_CLASSLOADERS = new ClassLoader[] {DeploymentContext.class.getClassLoader()};
+    private static final ClassLoader[] DEFAULT_PARENT_CLASSLOADERS = new ClassLoader[]{DeploymentContext.class.getClassLoader()};
     private final Kernel kernel;
     private final ConfigurationData configurationData;
     private final GBeanDataRegistry gbeans = new GBeanDataRegistry();
@@ -72,14 +75,14 @@
     private final URI baseUri;
     private final byte[] buffer = new byte[4096];
     private final List loadedAncestors = new ArrayList();
-    private final LinkedList startedAncestors;
-    private final ClassLoader[] parentCL;
+    private final List startedAncestors = new ArrayList();
+//    private final ClassLoader[] parentCL;
 
-    public DeploymentContext(File baseDir, URI configId, ConfigurationModuleType type, URI[] parentID, Kernel kernel) throws DeploymentException {
+    public DeploymentContext(File baseDir, URI configId, ConfigurationModuleType type, List parentID, Kernel kernel) throws DeploymentException {
         this(baseDir, configId, type, parentID, null, null, kernel);
     }
 
-    public DeploymentContext(File baseDir, URI configId, ConfigurationModuleType type, URI[] parentId, String domain, String server, Kernel kernel) throws DeploymentException {
+    public DeploymentContext(File baseDir, URI configId, ConfigurationModuleType type, List parentId, String domain, String server, Kernel kernel) throws DeploymentException {
         assert baseDir != null: "baseDir is null";
         assert configId != null: "configID is null";
         assert type != null: "type is null";
@@ -99,102 +102,63 @@
         configurationData.setId(configId);
         configurationData.setModuleType(type);
         configurationData.setParentId(parentId);
+        configurationData.setDomain(domain);
+        configurationData.setServer(server);
+        determineNaming();
+    }
 
-        if (kernel != null && parentId != null && parentId.length > 0) {
-            ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
+    private void determineNaming() throws DeploymentException {
+        if (configurationData.getDomain() != null && configurationData.getServer() != null) {
+            return;
+        }
+        List parentId = configurationData.getParentId();
+        if (kernel == null || parentId == null || parentId.isEmpty()) {
+            throw new DeploymentException("neither domain and server nor any way to determine them was provided for configuration " + configurationData.getId());
+        }
+        URI parent = (URI) parentId.get(0);
+        ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
 
-            try {
-                for (int i = 0; i < parentId.length; i++) {
-                    URI uri = parentId[i];
-                    loadedAncestors.addAll(configurationManager.loadRecursive(uri));
-                }
-            } catch (Exception e) {
-                throw new DeploymentException("Unable to load parents", e);
-            } finally {
-                ConfigurationUtil.releaseConfigurationManager(kernel, configurationManager);
+        try {
+            boolean loaded = false;
+            if (!configurationManager.isLoaded(parent)) {
+                configurationManager.load(parent);
+                loaded = true;
             }
-
             try {
-                ObjectName parentName = Configuration.getConfigurationObjectName(parentId[0]);
-                domain = (String) kernel.getAttribute(parentName, "domain");
-                server = (String) kernel.getAttribute(parentName, "server");
+                ObjectName parentName = Configuration.getConfigurationObjectName(parent);
+                configurationData.setDomain((String) kernel.getAttribute(parentName, "domain"));
+                configurationData.setServer((String) kernel.getAttribute(parentName, "server"));
             } catch (Exception e) {
                 throw new DeploymentException("Unable to copy domain and server from parent configuration", e);
-            }
-
-            try {
-                startedAncestors = new LinkedList();
-                for (int i = 0; i < parentId.length; i++) {
-                    URI uri = parentId[i];
-                    ObjectName ancestorName = Configuration.getConfigurationObjectName(uri);
-                    findToStart(ancestorName, kernel);
-                    //we've found what we need to start, now start them.
-                    for (Iterator iterator = startedAncestors.iterator(); iterator.hasNext();) {
-                        ObjectName objectName = (ObjectName) iterator.next();
-                        kernel.startGBean(objectName);
-                        if (!isRunning(kernel, objectName)) {
-                            throw new DeploymentException("Failed to start parent configuration: " + objectName);
-                        }
-
-                    }
-                }
-            } catch (DeploymentException e) {
-                throw e;
-            } catch (Exception e) {
-                throw new DeploymentException(e);
-            }
-
-            try {
-                parentCL = new ClassLoader[parentId.length];
-                for (int i = 0; i < parentId.length; i++) {
-                    URI uri = parentId[i];
-                    ObjectName parentName = Configuration.getConfigurationObjectName(uri);
-                    parentCL[i] = (ClassLoader) kernel.getAttribute(parentName, "configurationClassLoader");
+            } finally {
+                if (loaded) {
+                    //we need to unload again so the loadedAncestors list will be in the correct order to start configs.
+                    configurationManager.unload(parent);
                 }
-
-            } catch (Exception e) {
-                throw new DeploymentException(e);
             }
-        } else {
-            startedAncestors = null;
-            // no explicit parent set, so use the class loader of this class as
-            // the parent... this class should be in the root geronimo classloader,
-            // which is normally the system class loader but not always, so be safe
-            parentCL = DEFAULT_PARENT_CLASSLOADERS;
+        } catch (Exception e) {
+            throw new DeploymentException("Unable to load first parent of configuration " + configurationData.getId(), e);
+        } finally {
+            ConfigurationUtil.releaseConfigurationManager(kernel, configurationManager);
         }
 
         //check that domain and server are now known
-        if (domain == null || server == null) {
-            throw new IllegalStateException("Domain or server could not be determined from explicit args or parent configuration. ParentID: " + parentId + ", domain: " + domain + ", server: " + server);
+        if (configurationData.getDomain() == null || configurationData.getServer() == null) {
+            throw new IllegalStateException("Domain or server could not be determined from explicit args or parent configuration. ParentID: " + parentId
+                    + ", domain: " + configurationData.getDomain()
+                    + ", server: " + configurationData.getServer());
         }
-
-        configurationData.setDomain(domain);
-        configurationData.setServer(server);
     }
 
-    private void findToStart(ObjectName ancestorName, Kernel kernel) throws Exception {
-        if (ancestorName != null && !isRunning(kernel, ancestorName)) {
-            startedAncestors.addFirst(ancestorName);
-            URI[] patterns = (URI[]) kernel.getGBeanData(ancestorName).getAttribute("parentId");
-            if (patterns == null) {
-                return;
-            }
-            for (int i = 0; i < patterns.length; i++) {
-                URI pattern = patterns[i];
-                ancestorName = Configuration.getConfigurationObjectName(pattern);
-                findToStart(ancestorName, kernel);
-            }
-        }
-    }
-
-    private static boolean isRunning(Kernel kernel, ObjectName name) throws Exception {
-        return State.RUNNING_INDEX == kernel.getGBeanState(name);
-    }
 
     public URI getConfigID() {
         return configurationData.getId();
     }
 
+    public void addParentId(List parentId) {
+        configurationData.getParentId().addAll(parentId);
+    }
+
     public ConfigurationModuleType getType() {
         return configurationData.getModuleType();
     }
@@ -439,7 +403,154 @@
         return new File(baseUri.resolve(targetPath));
     }
 
+    static interface ParentSource {
+        Collection getParents(URI point) throws DeploymentException;
+    }
+
+    List getExtremalSet(Collection points, ParentSource parentSource) throws DeploymentException {
+        LinkedHashMap pointToEnvelopeMap = new LinkedHashMap();
+        for (Iterator iterator = points.iterator(); iterator.hasNext();) {
+            URI newPoint = (URI) iterator.next();
+            Set newEnvelope = new HashSet();
+            getEnvelope(newPoint, parentSource, newEnvelope);
+            boolean useMe = true;
+            for (Iterator iterator1 = pointToEnvelopeMap.entrySet().iterator(); iterator1.hasNext();) {
+                Map.Entry entry = (Map.Entry) iterator1.next();
+                Set existingEnvelope = (Set) entry.getValue();
+                if (existingEnvelope.contains(newPoint)) {
+                    useMe = false;
+                } else if (newEnvelope.contains(entry.getKey())) {
+                    iterator1.remove();
+                }
+            }
+            if (useMe) {
+                pointToEnvelopeMap.put(newPoint, newEnvelope);
+            }
+        }
+        return new ArrayList(pointToEnvelopeMap.keySet());
+    }
+
+    private void getEnvelope(URI point, ParentSource parentSource, Set envelope) throws DeploymentException {
+        Collection newPoints = parentSource.getParents(point);
+        envelope.addAll(newPoints);
+        for (Iterator iterator = newPoints.iterator(); iterator.hasNext();) {
+            URI newPoint = (URI) iterator.next();
+            getEnvelope(newPoint, parentSource, envelope);
+        }
+    }
+
+    static class ConfigurationParentSource implements ParentSource {
+
+        private final Kernel kernel;
+
+        public ConfigurationParentSource(Kernel kernel) {
+            this.kernel = kernel;
+        }
+
+        public Collection getParents(URI configID) throws DeploymentException {
+            ObjectName configName;
+            try {
+                configName = Configuration.getConfigurationObjectName(configID);
+            } catch (MalformedObjectNameException e) {
+                throw new DeploymentException("Cannot convert ID to ObjectName: ", e);
+            }
+            try {
+                URI[] parents = (URI[]) kernel.getAttribute(configName, "parentId");
+                if (parents == null) {
+                    return Collections.EMPTY_LIST;
+                } else {
+                    return Arrays.asList(parents);
+                }
+            } catch (Exception e) {
+                throw new DeploymentException("Cannot find parents of alleged config: ", e);
+            }
+        }
+
+    }
+
+    private ClassLoader[] determineParents() throws DeploymentException {
+        ClassLoader[] parentCL;
+        List parentId = configurationData.getParentId();
+        if (kernel != null && parentId != null && parentId.size() > 0) {
+            loadAncestors(kernel, parentId, loadedAncestors);
+            ParentSource parentSource = new ConfigurationParentSource(kernel);
+            parentId = getExtremalSet(parentId, parentSource);
+            configurationData.setParentId(parentId);
+
+            try {
+                for (Iterator iterator = parentId.iterator(); iterator.hasNext();) {
+                    URI uri = (URI) iterator.next();
+                    ObjectName ancestorName = Configuration.getConfigurationObjectName(uri);
+                    List started = new ArrayList();
+                    startAncestors(ancestorName, kernel, started);
+                    startedAncestors.addAll(started);
+                }
+            } catch (DeploymentException e) {
+                throw e;
+            } catch (Exception e) {
+                throw new DeploymentException(e);
+            }
+
+            try {
+                parentCL = new ClassLoader[parentId.size()];
+                for (int i = 0; i < parentId.size(); i++) {
+                    URI uri = (URI) parentId.get(i);
+                    ObjectName parentName = Configuration.getConfigurationObjectName(uri);
+                    parentCL[i] = (ClassLoader) kernel.getAttribute(parentName, "configurationClassLoader");
+                }
+
+            } catch (Exception e) {
+                throw new DeploymentException(e);
+            }
+        } else {
+            // no explicit parent set, so use the class loader of this class as
+            // the parent... this class should be in the root geronimo classloader,
+            // which is normally the system class loader but not always, so be safe
+            parentCL = DEFAULT_PARENT_CLASSLOADERS;
+        }
+
+
+        return parentCL;
+    }
+
+    private void loadAncestors(Kernel kernel, List parentId, List loadedAncestors) throws DeploymentException {
+        if (kernel != null && parentId != null) {
+            ConfigurationManager configurationManager = ConfigurationUtil.getConfigurationManager(kernel);
+
+            try {
+                for (Iterator iterator = parentId.iterator(); iterator.hasNext();) {
+                    URI uri = (URI) iterator.next();
+                    loadedAncestors.addAll(configurationManager.loadRecursive(uri));
+                }
+            } catch (Exception e) {
+                throw new DeploymentException("Unable to load parents", e);
+            } finally {
+                ConfigurationUtil.releaseConfigurationManager(kernel, configurationManager);
+            }
+        }
+    }
+
+    private void startAncestors(ObjectName name, Kernel kernel, List started) throws Exception {
+        if (name != null && !isRunning(kernel, name)) {
+            URI[] patterns = (URI[]) kernel.getGBeanData(name).getAttribute("parentId");
+            if (patterns != null) {
+                for (int i = 0; i < patterns.length; i++) {
+                    URI pattern = patterns[i];
+                    ObjectName ancestorName = Configuration.getConfigurationObjectName(pattern);
+                    startAncestors(ancestorName, kernel, started);
+                }
+            }
+            kernel.startGBean(name);
+            started.add(name);
+        }
+    }
+
+    private static boolean isRunning(Kernel kernel, ObjectName name) throws Exception {
+        return State.RUNNING_INDEX == kernel.getGBeanState(name);
+    }
+
     public ClassLoader getClassLoader(Repository repository) throws DeploymentException {
+        ClassLoader[] parentCL = determineParents();
         // shouldn't user classpath come before dependencies?
         List dependencies = configurationData.getDependencies();
         List classPath = configurationData.getClassPath();
@@ -516,9 +627,9 @@
         config.setAttribute("domain", configurationData.getDomain());
         config.setAttribute("server", configurationData.getServer());
 
-        URI[] parentId = configurationData.getParentId();
+        List parentId = configurationData.getParentId();
         if (parentId != null) {
-            config.setAttribute("parentId", parentId);
+            config.setAttribute("parentId", parentId.toArray(new URI[parentId.size()]));
         }
 
         config.setAttribute("gBeanState", Configuration.storeGBeans(gbeans.getGBeans()));
@@ -529,11 +640,4 @@
         return config;
     }
 
-    /**
-     * @return
-     * @deprecated REALLY deprecated.  Only use in tests, please.
-     */
-    public GBeanData[] getGBeans() {
-        return gbeans.getGBeans();
-    }
 }

Modified: geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/ApplicationInfo.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/ApplicationInfo.java?rev=278940&r1=278939&r2=278940&view=diff
==============================================================================
--- geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/ApplicationInfo.java (original)
+++ geronimo/trunk/modules/j2ee-builder/src/java/org/apache/geronimo/j2ee/ApplicationInfo.java Tue Sep  6 01:20:51 2005
@@ -18,6 +18,7 @@
 
 import java.net.URI;
 import java.util.Set;
+import java.util.List;
 
 import org.apache.geronimo.kernel.config.ConfigurationModuleType;
 import org.apache.xmlbeans.XmlObject;
@@ -28,7 +29,7 @@
 public class ApplicationInfo {
     private ConfigurationModuleType type;
     private URI configId;
-    private URI[] parentId;
+    private List parentId;
     private String applicationName;
     private XmlObject specDD;
     private XmlObject vendorDD;
@@ -39,7 +40,7 @@
     public ApplicationInfo() {
     }
 
-    public ApplicationInfo(ConfigurationModuleType type, URI configId, URI[] parentId, String applicationName, XmlObject specDD, XmlObject vendorDD, Set modules, Set moduleLocations, String originalSpecDD) {
+    public ApplicationInfo(ConfigurationModuleType type, URI configId, List parentId, String applicationName, XmlObject specDD, XmlObject vendorDD, Set modules, Set moduleLocations, String originalSpecDD) {
         assert type != null;
         assert configId != null;
         assert parentId != null;
@@ -73,11 +74,11 @@
         this.configId = configId;
     }
 
-    public URI[] getParentId() {
+    public List getParentId() {
         return parentId;
     }
 
-    public void setParentId(URI[] parentId) {
+    public void setParentId(List parentId) {
         this.parentId = parentId;
     }