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 2009/12/10 10:34:50 UTC

svn commit: r889157 - in /geronimo/server/trunk/plugins: console/ console/console-core/ console/console-core/src/main/resources/ console/console-core/src/main/resources/OSGI-INF/ console/console-core/src/main/resources/OSGI-INF/blueprint/ console/conso...

Author: djencks
Date: Thu Dec 10 09:34:32 2009
New Revision: 889157

URL: http://svn.apache.org/viewvc?rev=889157&view=rev
Log:
GERONIMO-4965 Get pluto 2 running as osgi blueprint service.  Base console sort of works. Fix a bug in jetty single-bundle-ear support for locating resources

Added:
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml   (contents, props changed)
      - copied, changed from r887508, geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/WEB-INF/
    geronimo/server/trunk/plugins/console/console-core/src/main/resources/WEB-INF/pluto-portal-driver-config.xml   (props changed)
      - copied unchanged from r887809, geronimo/server/trunk/plugins/console/console-portal-driver/src/main/resources/pluto-portal-driver-config.xml
    geronimo/server/trunk/plugins/console/console-jetty-server/
    geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml   (with props)
    geronimo/server/trunk/plugins/console/console-jetty-server/src/
    geronimo/server/trunk/plugins/console/console-jetty-server/src/main/
    geronimo/server/trunk/plugins/console/console-jetty-server/src/main/resources/
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java   (with props)
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java   (with props)
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java   (with props)
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalStartupListener.java
      - copied, changed from r888219, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalStartupListener.java
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java   (with props)
Removed:
    geronimo/server/trunk/plugins/console/console-portal-driver/src/main/resources/pluto-portal-driver-config.xml
    geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/RenderConfigServiceImpl.java
Modified:
    geronimo/server/trunk/plugins/console/console-core/pom.xml
    geronimo/server/trunk/plugins/console/console-jetty/pom.xml
    geronimo/server/trunk/plugins/console/console-jetty/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/config/services/FactoryManagerService.properties
    geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/web.xml
    geronimo/server/trunk/plugins/console/console-tomcat/pom.xml
    geronimo/server/trunk/plugins/console/console-tomcat/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/console/pom.xml
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/FilterHolderWrapper.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/GeronimoServletHolder.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/JettyServletRegistration.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/POJOWebServiceHolderWrapper.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/ServletHolderWrapper.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java
    geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/pom.xml
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/PropertyConfigServiceImpl.java
    geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/ResourceConfigReader.java
    geronimo/server/trunk/plugins/pluto/pluto-support/pom.xml
    geronimo/server/trunk/plugins/pluto/pluto-support/src/main/history/dependencies.xml
    geronimo/server/trunk/plugins/pluto/pom.xml

Modified: geronimo/server/trunk/plugins/console/console-core/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-core/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-core/pom.xml (original)
+++ geronimo/server/trunk/plugins/console/console-core/pom.xml Thu Dec 10 09:34:32 2009
@@ -81,5 +81,19 @@
             <artifactId>geronimo-jsp_2.1_spec</artifactId>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+              <groupId>org.apache.felix</groupId>
+              <artifactId>maven-bundle-plugin</artifactId>
+              <configuration>
+                <instructions>
+                    <Import-Package>org.apache.pluto.driver.services.portal,*</Import-Package>
+                    <Bundle-Activator>org.apache.geronimo.pluto.ConfigServiceActivator</Bundle-Activator>
+                </instructions>
+              </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>

Copied: geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml (from r887508, geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml)
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml?p2=geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml&p1=geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml&r1=887508&r2=889157&rev=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/pluto-portal-driver-services-config.xml (original)
+++ geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml Thu Dec 10 09:34:32 2009
@@ -1,6 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
-        "http://www.springframework.org/dtd/spring-beans.dtd">
 <!-- 
 Licensed to the Apache Software Foundation (ASF) under one or more
 contributor license agreements.  See the NOTICE file distributed with
@@ -42,91 +40,155 @@
 
   -->
 
-<beans>
+<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
 
-    <bean id="RequiredContainerServices"
-          name="OptionalContainerServices"
-          class="org.apache.pluto.driver.services.container.ContainerServicesImpl"
-          singleton="true">
-      <constructor-arg><ref bean="PortalContext"/></constructor-arg>
-      <constructor-arg><ref bean="DriverConfiguration"/></constructor-arg>
+    <bean id="PlutoServices"
+          class="org.apache.pluto.container.driver.PlutoServices">
+        <argument>
+            <ref component-id="PortalDriverServices"/>
+        </argument>
+    </bean>
+
+    <service id="PortalDriverServicesService" interface="org.apache.pluto.container.driver.PortalDriverServices"
+             ref="PortalDriverServices"/>
+    <bean id="PortalDriverServices"
+          class="org.apache.pluto.driver.container.PortalDriverServicesImpl">
+        <argument>
+            <ref component-id="PortalContext"/>
+        </argument>
+        <argument>
+            <ref component-id="PortletRequestContextService"/>
+        </argument>
+        <argument>
+            <ref component-id="EventCoordinationService"/>
+        </argument>
+        <argument>
+            <ref component-id="FilterManagerService"/>
+        </argument>
+        <argument>
+            <ref component-id="PortletURLListenerService"/>
+        </argument>
     </bean>
 
     <bean id="PortalContext"
           class="org.apache.pluto.driver.services.container.PortalContextImpl">
-        <constructor-arg><ref bean="DriverConfiguration"/></constructor-arg>
+        <argument>
+            <ref component-id="DriverConfiguration"/>
+        </argument>
     </bean>
 
 
-
     <!-- ================================================ -->
     <!-- The single top element of the configuration tree -->
     <!-- ================================================ -->
+    <service id="DriverConfigurationService" interface="org.apache.pluto.driver.config.DriverConfiguration"
+             ref="DriverConfiguration"/>
     <bean id="DriverConfiguration"
           class="org.apache.pluto.driver.config.impl.DriverConfigurationImpl">
 
-      <!-- ===== Portal Services ===== -->
-      <constructor-arg><ref bean="PortalURLParser"/></constructor-arg>
-      <constructor-arg><ref bean="PropertyConfigService"/></constructor-arg>
-      <constructor-arg><ref bean="RenderConfigService"/></constructor-arg>
-      <constructor-arg><ref bean="SupportedModesService"/></constructor-arg>
-      <constructor-arg><ref bean="SupportedWindowStatesService"/></constructor-arg>
-
-      <!-- === Container Services === -->
-      <constructor-arg><ref bean="PortalCallbackService"/></constructor-arg>
-
-      <!--  Optional Container Services -->
-      <!--
-      <property name="portletPreferencesService"><ref bean="PortletPreferencesService"/></property>
-      <property name="userAttributeService"><ref bean="UserAttributeService"/></property>
-      -->
+        <!-- ===== Portal Services ===== -->
+        <argument>
+            <ref component-id="PortalURLParser"/>
+        </argument>
+        <argument>
+            <ref component-id="PropertyConfigService"/>
+        </argument>
+        <argument>
+            <ref component-id="RenderConfigService"/>
+        </argument>
+        <argument>
+            <ref component-id="SupportedModesService"/>
+        </argument>
+        <argument>
+            <ref component-id="SupportedWindowStatesService"/>
+        </argument>
+
+        <!--
+        <property name="portletPreferencesService"><ref component-id="PortletPreferencesService"/></property>
+        -->
     </bean>
 
     <!-- ================================================ -->
     <!-- The single top element of the administration tree -->
     <!-- ================================================ -->
+    <service id="AdminConfigurationService" interface="org.apache.pluto.driver.config.AdminConfiguration"
+             ref="AdminConfiguration"/>
     <bean id="AdminConfiguration" class="org.apache.pluto.driver.config.impl.AdminConfigurationImpl">
-      <property name="renderConfigAdminService"><ref bean="RenderConfigService"/></property>
+        <property name="renderConfigAdminService">
+            <ref component-id="RenderConfigService"/>
+        </property>
     </bean>
 
 
     <!-- ================================================ -->
     <!-- Portal Services injected into the Configuration  -->
     <!-- ================================================ -->
+
+    <bean id="ResourceConfigFactory" class="org.apache.geronimo.pluto.ResourceConfigFactory"
+          factory-method="getResourceConfig">
+        <argument>
+            <reference interface="org.apache.geronimo.pluto.ConfigService"/>
+        </argument>
+    </bean>
     <bean id="PortalURLParser"
           class="org.apache.pluto.driver.url.impl.PortalURLParserImpl"
-          factory-method="getParser"
-          singleton="true">
+          factory-method="getParser">
     </bean>
 
     <bean id="PropertyConfigService"
-          class="org.apache.geronimo.pluto.impl.PropertyConfigServiceImpl"
-          singleton="true">
+          class="org.apache.pluto.driver.services.impl.resource.PropertyConfigServiceImpl">
+        <argument>
+            <ref component-id="ResourceConfigFactory"/>
+        </argument>
     </bean>
 
     <bean id="RenderConfigService"
-          class="org.apache.geronimo.pluto.impl.RenderConfigServiceImpl"
-          singleton="true">
+          class="org.apache.pluto.driver.services.impl.resource.RenderConfigServiceImpl">
+        <argument>
+            <ref component-id="ResourceConfigFactory"/>
+        </argument>
     </bean>
-    
+
     <bean id="SupportedModesService"
-          class="org.apache.pluto.driver.services.impl.resource.SupportedModesServiceImpl"
-          singleton="true">
-          <constructor-arg><ref bean="PropertyConfigService"/></constructor-arg>
+          class="org.apache.pluto.driver.services.impl.resource.SupportedModesServiceImpl">
+        <argument>
+            <ref component-id="PropertyConfigService"/>
+        </argument>
+        <argument>
+            <ref component-id="PortletContextService"/>
+        </argument>
     </bean>
 
     <bean id="SupportedWindowStatesService"
-          class="org.apache.pluto.driver.services.impl.resource.SupportedWindowStateServiceImpl"
-          singleton="true">
-          <constructor-arg><ref bean="PropertyConfigService"/></constructor-arg>
+          class="org.apache.pluto.driver.services.impl.resource.SupportedWindowStateServiceImpl">
+        <argument>
+            <ref component-id="PropertyConfigService"/>
+        </argument>
     </bean>
 
     <!-- ================================================ -->
     <!-- Container Services injected into  Configuration  -->
     <!-- ================================================ -->
-    <bean id="PortalCallbackService"
-          class="org.apache.pluto.driver.services.container.PortalCallbackServiceImpl"
-          singleton="true">
+    <bean id="PortletRequestContextService"
+          class="org.apache.pluto.driver.services.container.PortletRequestContextServiceImpl">
+    </bean>
+    <bean id="EventCoordinationService"
+          class="org.apache.pluto.driver.services.container.EventCoordinationServiceImpl">
+    </bean>
+    <bean id="FilterManagerService"
+          class="org.apache.pluto.driver.services.container.FilterManagerServiceImpl">
+    </bean>
+    <bean id="PortletURLListenerService"
+          class="org.apache.pluto.driver.services.container.PortletURLListenerServiceImpl">
+    </bean>
+    <bean id="PortletContextService"
+          class="org.apache.pluto.driver.container.PortletContextManager">
+        <argument>
+            <ref component-id="RequestDispatcherService"/>
+        </argument>
+    </bean>
+    <bean id="RequestDispatcherService"
+          class="org.apache.pluto.container.impl.RequestDispatcherServiceImpl">
     </bean>
 
     <!-- ================================================ -->
@@ -135,12 +197,20 @@
     <bean id="GeronimoPortalServices"
           class="org.apache.geronimo.pluto.PortalContainerServicesGBean"
           factory-method="getSingleton"
-          singleton="true">
-      <property name="renderConfigService"><ref bean="RenderConfigService"/></property>
-      <property name="portalCallbackService"><ref bean="PortalCallbackService"/></property>
-      <property name="propertyConfigService"><ref bean="PropertyConfigService"/></property>
-      <property name="driverConfiguration"><ref bean="DriverConfiguration"/></property>
-      <property name="adminConfiguration"><ref bean="AdminConfiguration"/></property>   
+          activation="eager">
+        <property name="renderConfigService">
+            <ref component-id="RenderConfigService"/>
+        </property>
+        <!--<property name="portalCallbackService"><ref component-id="PortalCallbackService"/></property>-->
+        <property name="propertyConfigService">
+            <ref component-id="PropertyConfigService"/>
+        </property>
+        <property name="driverConfiguration">
+            <ref component-id="DriverConfiguration"/>
+        </property>
+        <property name="adminConfiguration">
+            <ref component-id="AdminConfiguration"/>
+        </property>
     </bean>
 
-</beans>
+</blueprint>

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/OSGI-INF/blueprint/pluto-portal-services.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/WEB-INF/pluto-portal-driver-config.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/WEB-INF/pluto-portal-driver-config.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/server/trunk/plugins/console/console-core/src/main/resources/WEB-INF/pluto-portal-driver-config.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml?rev=889157&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml (added)
+++ geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml Thu Dec 10 09:34:32 2009
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <parent>
+    <artifactId>console</artifactId>
+    <groupId>org.apache.geronimo.plugins</groupId>
+    <version>3.0-SNAPSHOT</version>
+  </parent>
+  <groupId>org.apache.geronimo.plugins</groupId>
+  <artifactId>console-jetty-server</artifactId>
+  <packaging>server-assembly</packaging>
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <groupId>org.apache.geronimo.buildsupport</groupId>
+          <artifactId>car-maven-plugin</artifactId>
+          <version>${version}</version>
+          <extensions>true</extensions>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.geronimo.buildsupport</groupId>
+        <artifactId>car-maven-plugin</artifactId>
+        <configuration>
+          <servers>
+            <serverInstance>
+              <name>default</name>
+              <configFile>var/config/config.xml</configFile>
+              <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+              <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+              <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+            </serverInstance>
+            <serverInstance>
+              <name>client</name>
+              <attributeManagerFrom>default</attributeManagerFrom>
+              <artifactAliasesFile>var/config/client_artifact_aliases.properties</artifactAliasesFile>
+            </serverInstance>
+            <serverInstance>
+              <name>offline</name>
+              <configFile>var/config/offline-deployer-config.xml</configFile>
+              <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+              <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+              <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+            </serverInstance>
+            <serverInstance>
+              <name>jsr88</name>
+              <configFile>var/config/jsr88-configurer-config.xml</configFile>
+              <configSubstitutionsFile>var/config/config-substitutions.properties</configSubstitutionsFile>
+              <configSubstitutionsPrefix>org.apache.geronimo.config.substitution.</configSubstitutionsPrefix>
+              <artifactAliasesFile>var/config/artifact_aliases.properties</artifactAliasesFile>
+            </serverInstance>
+          </servers>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.geronimo.framework</groupId>
+      <artifactId>karaf-framework</artifactId>
+      <version>${version}</version>
+      <type>car</type>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.geronimo.plugins</groupId>
+      <artifactId>console-jetty</artifactId>
+      <version>${version}</version>
+      <type>car</type>
+    </dependency>
+  </dependencies>
+</project>

Propchange: geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/console/console-jetty-server/pom.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: geronimo/server/trunk/plugins/console/console-jetty/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-jetty/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-jetty/pom.xml (original)
+++ geronimo/server/trunk/plugins/console/console-jetty/pom.xml Thu Dec 10 09:34:32 2009
@@ -73,6 +73,11 @@
             <artifactId>console-core</artifactId>
             <version>${version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>console-filter</artifactId>
+            <version>${version}</version>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.geronimo.bundles</groupId>

Modified: geronimo/server/trunk/plugins/console/console-jetty/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-jetty/src/main/history/dependencies.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-jetty/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/console/console-jetty/src/main/history/dependencies.xml Thu Dec 10 09:34:32 2009
@@ -48,6 +48,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>console-filter</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
         <artifactId>pluto-support</artifactId>
         <type>car</type>
     </dependency>

Modified: geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/config/services/FactoryManagerService.properties
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/config/services/FactoryManagerService.properties?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/config/services/FactoryManagerService.properties (original)
+++ geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/config/services/FactoryManagerService.properties Thu Dec 10 09:34:32 2009
@@ -29,7 +29,6 @@
 factory.javax.portlet.PortletSession = org.apache.pluto.factory.impl.PortletSessionFactoryImpl
 factory.javax.portlet.PortletConfig = org.apache.pluto.factory.impl.PortletConfigFactoryImpl
 factory.javax.portlet.PortletContext = org.apache.pluto.factory.impl.PortletContextFactoryImpl
-factory.javax.portlet.PortletPreferences = org.apache.pluto.factory.impl.PortletPreferencesFactoryImpl
 factory.javax.portlet.PortalContext = org.apache.pluto.factory.impl.PortalContextFactoryImpl
 factory.javax.portlet.ActionResponse = org.apache.pluto.factory.impl.ActionResponseFactoryImpl
 factory.javax.portlet.PortletURL = org.apache.pluto.factory.impl.PortletURLFactoryImpl

Modified: geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/web.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/server/trunk/plugins/console/console-portal-driver/src/main/webapp/WEB-INF/web.xml Thu Dec 10 09:34:32 2009
@@ -26,10 +26,10 @@
 
   <display-name>Geronimo Administration Console Portal Driver</display-name>
 
-  <context-param>
-    <param-name>contextConfigLocation</param-name>
-    <param-value>/WEB-INF/pluto-portal-driver-services-config.xml</param-value>
-  </context-param>
+  <!--<context-param>-->
+    <!--<param-name>contextConfigLocation</param-name>-->
+    <!--<param-value>/WEB-INF/pluto-portal-driver-services-config.xml</param-value>-->
+  <!--</context-param>-->
 
   <!-- XSS/XSRF filter -->
   <filter>
@@ -49,7 +49,7 @@
   <!--</listener>-->
 
   <listener>
-    <listener-class>org.apache.pluto.driver.PortalStartupListener</listener-class>
+    <listener-class>org.apache.geronimo.pluto.PortalStartupListener</listener-class>
   </listener>
   
   <filter>

Modified: geronimo/server/trunk/plugins/console/console-tomcat/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-tomcat/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-tomcat/pom.xml (original)
+++ geronimo/server/trunk/plugins/console/console-tomcat/pom.xml Thu Dec 10 09:34:32 2009
@@ -73,7 +73,12 @@
             <artifactId>console-core</artifactId>
             <version>${version}</version>
         </dependency>
-
+        <dependency>
+            <groupId>org.apache.geronimo.plugins</groupId>
+            <artifactId>console-filter</artifactId>
+            <version>${version}</version>
+        </dependency>
+        
         <dependency>
             <groupId>org.apache.geronimo.bundles</groupId>
             <artifactId>dwr</artifactId>

Modified: geronimo/server/trunk/plugins/console/console-tomcat/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/console-tomcat/src/main/history/dependencies.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/console-tomcat/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/console/console-tomcat/src/main/history/dependencies.xml Thu Dec 10 09:34:32 2009
@@ -53,6 +53,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.plugins</groupId>
+        <artifactId>console-filter</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.plugins</groupId>
         <artifactId>pluto-support</artifactId>
         <type>car</type>
     </dependency>

Modified: geronimo/server/trunk/plugins/console/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/console/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/console/pom.xml (original)
+++ geronimo/server/trunk/plugins/console/pom.xml Thu Dec 10 09:34:32 2009
@@ -14,11 +14,7 @@
     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$ $Date$ -->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+--><!-- $Rev$ $Date$ --><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 
     <modelVersion>4.0.0</modelVersion>
 
@@ -48,7 +44,8 @@
         <module>plugin-portlets</module>
         <module>plugin-console-jetty</module>
         <module>plugin-console-tomcat</module>
-    </modules>
+    <module>console-jetty-server</module>
+  </modules>
 
     <dependencyManagement>
         <dependencies>
@@ -70,5 +67,4 @@
         </dependencies>
     </dependencyManagement>
 
-</project>
-
+</project>
\ No newline at end of file

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8-builder/src/main/java/org/apache/geronimo/jetty8/deployment/JettyModuleBuilder.java Thu Dec 10 09:34:32 2009
@@ -381,6 +381,8 @@
         GBeanData webModuleData = new GBeanData(moduleName, WebAppContextWrapper.class);
 
         configureBasicWebModuleAttributes(webApp, jettyWebApp, moduleContext, earContext, webModule, webModuleData);
+        //TODO move to method above
+        webModuleData.setAttribute("modulePath", webModule.isStandAlone() || webModule.getEarContext() != webModule.getRootEarContext()? null: webModule.getTargetPath());
 
         // unsharableResources, applicationManagedSecurityResources
         GBeanResourceEnvironmentBuilder rebuilder = new GBeanResourceEnvironmentBuilder(webModuleData);
@@ -613,7 +615,7 @@
         for (FilterType filterType : filterArray) {
             String filterName = filterType.getFilterName().getStringValue().trim();
             AbstractName filterAbstractName = earContext.getNaming().createChildName(moduleName, filterName, NameFactory.WEB_FILTER);
-            GBeanData filterData = new GBeanData(filterAbstractName, FilterHolderWrapper.GBEAN_INFO);
+            GBeanData filterData = new GBeanData(filterAbstractName, FilterHolderWrapper.class);
             filterData.setAttribute("filterName", filterName);
             filterData.setAttribute("filterClass", filterType.getFilterClass().getStringValue().trim());
             Map<String, String> initParams = new HashMap<String, String>();

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/FilterHolderWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/FilterHolderWrapper.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/FilterHolderWrapper.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/FilterHolderWrapper.java Thu Dec 10 09:34:32 2009
@@ -18,10 +18,9 @@
 
 import java.util.Map;
 
+import javax.servlet.Filter;
 import org.apache.geronimo.connector.outbound.connectiontracking.ConnectorInstanceContext;
 import org.apache.geronimo.connector.outbound.connectiontracking.SharedConnectorInstanceContext;
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.annotation.GBean;
 import org.apache.geronimo.gbean.annotation.ParamAttribute;
@@ -42,10 +41,9 @@
                              @ParamAttribute(name = "filterClass") String filterClass,
                              @ParamAttribute(name = "initParams") Map initParams,
                              @ParamReference(name = "JettyServletRegistration", namingType = NameFactory.WEB_MODULE) JettyServletRegistration jettyServletRegistration) throws Exception {
-        filterHolder = new InternalFilterHolder(jettyServletRegistration);
+        filterHolder = new InternalFilterHolder(jettyServletRegistration, filterClass);
         if (jettyServletRegistration != null) {
             filterHolder.setName(filterName);
-            filterHolder.setClassName(filterClass);
             filterHolder.setInitParameters(initParams);
             (jettyServletRegistration.getServletHandler()).addFilter(filterHolder);
         }
@@ -75,8 +73,12 @@
         private final JettyServletRegistration servletRegistration;
         private boolean destroyed;
 
-        public InternalFilterHolder(JettyServletRegistration servletRegistration) {
+        public InternalFilterHolder(JettyServletRegistration servletRegistration, String filterClass) throws ClassNotFoundException {
             this.servletRegistration = servletRegistration;
+            if (servletRegistration != null) {
+                setClassName(filterClass);
+                _class = servletRegistration.loadClass(filterClass, Filter.class);
+            }
         }
 
 
@@ -132,24 +134,4 @@
 
     }
 
-    public static final GBeanInfo GBEAN_INFO;
-
-    static {
-        GBeanInfoBuilder infoBuilder = GBeanInfoBuilder.createStatic(FilterHolderWrapper.class, NameFactory.WEB_FILTER);
-        infoBuilder.addAttribute("filterName", String.class, true);
-        infoBuilder.addAttribute("filterClass", String.class, true);
-        infoBuilder.addAttribute("initParams", Map.class, true);
-
-        infoBuilder.addReference("JettyServletRegistration", JettyServletRegistration.class, NameFactory.WEB_MODULE);
-
-        infoBuilder.setConstructor(new String[]{"filterName", "filterClass", "initParams", "JettyServletRegistration"});
-
-        GBEAN_INFO = infoBuilder.getBeanInfo();
-
-    }
-
-    public static GBeanInfo getGBeanInfo() {
-        return GBEAN_INFO;
-    }
-
 }

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/GeronimoServletHolder.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/GeronimoServletHolder.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/GeronimoServletHolder.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/GeronimoServletHolder.java Thu Dec 10 09:34:32 2009
@@ -24,6 +24,7 @@
 import javax.servlet.ServletException;
 import javax.servlet.ServletRequest;
 import javax.servlet.ServletResponse;
+import javax.servlet.Servlet;
 
 import org.apache.geronimo.connector.outbound.connectiontracking.ConnectorInstanceContext;
 import org.apache.geronimo.connector.outbound.connectiontracking.SharedConnectorInstanceContext;
@@ -41,9 +42,13 @@
     private final IntegrationContext integrationContext;
     private final JettyServletRegistration servletRegistration;
 
-    public GeronimoServletHolder(IntegrationContext integrationContext, JettyServletRegistration servletRegistration) {
+    public GeronimoServletHolder(IntegrationContext integrationContext, JettyServletRegistration servletRegistration, String servletClassName) throws ClassNotFoundException {
         this.integrationContext = integrationContext;
         this.servletRegistration = servletRegistration;
+        if (integrationContext != null) {
+            setClassName(servletClassName);
+            _class = servletRegistration.loadClass(servletClassName, Servlet.class);
+        }
     }
 
     public synchronized Object newInstance() throws InstantiationException, IllegalAccessException {

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/JettyServletRegistration.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/JettyServletRegistration.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/JettyServletRegistration.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/JettyServletRegistration.java Thu Dec 10 09:34:32 2009
@@ -36,7 +36,7 @@
 
     ServletHandler getServletHandler();
 
-    ClassLoader getWebClassLoader();
+    <T>Class<? extends T> loadClass(String className, Class<T> clazz) throws ClassNotFoundException;
 
     Object newInstance(String className) throws InstantiationException, IllegalAccessException;
 

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/POJOWebServiceHolderWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/POJOWebServiceHolderWrapper.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/POJOWebServiceHolderWrapper.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/POJOWebServiceHolderWrapper.java Thu Dec 10 09:34:32 2009
@@ -16,18 +16,10 @@
  */
 package org.apache.geronimo.jetty8;
 
-import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
 
-import javax.security.auth.Subject;
-import javax.security.jacc.PolicyContext;
 import javax.servlet.ServletContext;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.UnavailableException;
-import javax.servlet.http.HttpServletRequest;
 
 import org.apache.geronimo.gbean.GBeanLifecycle;
 import org.apache.geronimo.gbean.annotation.GBean;
@@ -38,7 +30,6 @@
 import org.apache.geronimo.webservices.WebServiceContainer;
 import org.apache.geronimo.webservices.WebServiceContainerFactory;
 import org.apache.geronimo.webservices.WebServiceContainerInvoker;
-import org.eclipse.jetty.server.Request;
 import org.eclipse.jetty.servlet.ServletHolder;
 
 
@@ -65,7 +56,7 @@
                                      @ParamAttribute(name = "runAsRole") String runAsRole,
                                      @ParamReference(name = "WebServiceContainerFactory") WebServiceContainerFactory webServiceContainerFactory,
                                      @ParamReference(name = "JettyServletRegistration", namingType = NameFactory.WEB_MODULE) JettyServletRegistration context) throws Exception {
-        servletHolder = new GeronimoServletHolder(context == null ? null : context.getIntegrationContext(), context);
+        servletHolder = new GeronimoServletHolder(context == null ? null : context.getIntegrationContext(), context, POJOWebServiceServlet.class.getName());
         //context will be null only for use as "default servlet info holder" in deployer.
 
         this.pojoClassName = pojoClassName;
@@ -74,7 +65,6 @@
         this.servletMappings = servletMappings;
         if (context != null) {
             servletHolder.setName(servletName);
-            servletHolder.setClassName(POJOWebServiceServlet.class.getName());
             servletHolder.getRegistration().setRunAsRole(runAsRole);
             servletHolder.setInitParameters(initParams);
             if (loadOnStartup != null) {
@@ -92,7 +82,7 @@
 
     public void doStart() throws Exception {
         if (context != null) {
-            Class pojoClass = context.getWebClassLoader().loadClass(pojoClassName);
+            Class<? extends Object> pojoClass = context.loadClass(pojoClassName, Object.class);
 
             /* DMB: Hack! I really just want to override initServlet and give a reference of the WebServiceContainer to the servlet before we call init on it.
              * But this will have to do instead....

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/ServletHolderWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/ServletHolderWrapper.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/ServletHolderWrapper.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/ServletHolderWrapper.java Thu Dec 10 09:34:32 2009
@@ -65,9 +65,8 @@
                               @ParamAttribute(name = "runAsRole") String runAsRole,
                               @ParamReference(name = "JettyServletRegistration", namingType = NameFactory.WEB_MODULE) JettyServletRegistration context) throws Exception {
         servletRegistration = context;
-        servletHolder = new GeronimoServletHolder(context == null ? null : context.getIntegrationContext(), servletRegistration);
+        servletHolder = new GeronimoServletHolder(context == null ? null : context.getIntegrationContext(), servletRegistration, servletClassName);
         servletHolder.setName(servletName);
-        servletHolder.setClassName(servletClassName);
         servletHolder.getRegistration().setRunAsRole(runAsRole);
         //context will be null only for use as "default servlet info holder" in deployer.
 

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/WebAppContextWrapper.java Thu Dec 10 09:34:32 2009
@@ -78,6 +78,9 @@
 j2eeType=NameFactory.WEB_MODULE)
 public class WebAppContextWrapper implements GBeanLifecycle, JettyServletRegistration, WebModule {
     private static final Logger log = LoggerFactory.getLogger(WebAppContextWrapper.class);
+    public static final String GBEAN_ATTR_SESSION_TIMEOUT = "sessionTimeoutSeconds";
+    public static final String GBEAN_REF_SESSION_HANDLER_FACTORY = "SessionHandlerFactory";
+    public static final String GBEAN_REF_PRE_HANDLER_FACTORY = "PreHandlerFactory";
 
     private final String originalSpecDD;
     private final J2EEServer server;
@@ -96,53 +99,50 @@
 
     private final Set<String> servletNames = new HashSet<String>();
 
-    public static final String GBEAN_ATTR_SESSION_TIMEOUT = "sessionTimeoutSeconds";
-
-    public static final String GBEAN_REF_SESSION_HANDLER_FACTORY = "SessionHandlerFactory";
-    public static final String GBEAN_REF_PRE_HANDLER_FACTORY = "PreHandlerFactory";
-    private IntegrationContext integrationContext;
+    private final IntegrationContext integrationContext;
 
 
     public WebAppContextWrapper(@ParamSpecial(type = SpecialAttributeType.objectName) String objectName,
-                              @ParamAttribute(name = "contextPath") String contextPath,
-                              @ParamAttribute(name = "deploymentDescriptor") String originalSpecDD,
-                              @ParamAttribute(name = "componentContext") Map<String, Object> componentContext,
-                              @ParamSpecial(type = SpecialAttributeType.classLoader) ClassLoader classLoader,
-                              @ParamSpecial(type = SpecialAttributeType.bundle) Bundle bundle,
-                              @ParamAttribute(name = "configurationBaseUrl") URL configurationBaseUrl,
-                              @ParamAttribute(name = "workDir") String workDir,
-                              @ParamAttribute(name = "unshareableResources") Set<String> unshareableResources,
-                              @ParamAttribute(name = "applicationManagedSecurityResources") Set<String> applicationManagedSecurityResources,
-                              @ParamAttribute(name = "displayName") String displayName,
-                              @ParamAttribute(name = "contextParamMap") Map<String, String> contextParamMap,
-                              @ParamAttribute(name = "listenerClassNames") Collection<String> listenerClassNames,
-                              @ParamAttribute(name = "distributable") boolean distributable,
-                              @ParamAttribute(name = "mimeMap") Map mimeMap,
-                              @ParamAttribute(name = "welcomeFiles") String[] welcomeFiles,
-                              @ParamAttribute(name = "localeEncodingMapping") Map<String, String> localeEncodingMapping,
-                              @ParamAttribute(name = "errorPages") Map errorPages,
-                              @ParamAttribute(name = "tagLibMap") Map<String, String> tagLibMap,
-                              @ParamAttribute(name = "compactPath") boolean compactPath,
-
-                              @ParamAttribute(name = GBEAN_ATTR_SESSION_TIMEOUT) int sessionTimeoutSeconds,
-                              @ParamReference(name = GBEAN_REF_SESSION_HANDLER_FACTORY) SessionHandlerFactory handlerFactory,
-                              @ParamReference(name = GBEAN_REF_PRE_HANDLER_FACTORY) PreHandlerFactory preHandlerFactory,
-
-                              @ParamAttribute(name = "policyContextID") String policyContextID,
-                              @ParamReference(name = "SecurityHandlerFactory") SecurityHandlerFactory securityHandlerFactory,
-                              @ParamReference(name = "RunAsSource") RunAsSource runAsSource,
-
-                              @ParamAttribute(name = "holder") Holder holder,
-
-                              @ParamReference(name = "Host") Host host,
-                              @ParamReference(name = "TransactionManager") TransactionManager transactionManager,
-                              @ParamReference(name = "TrackedConnectionAssociator") TrackedConnectionAssociator trackedConnectionAssociator,
-                              @ParamReference(name = "JettyContainer") JettyContainer jettyContainer,
-                              @ParamReference(name = "ContextCustomizer") RuntimeCustomizer contextCustomizer,
-
-                              @ParamReference(name = "J2EEServer") J2EEServer server,
-                              @ParamReference(name = "J2EEApplication") J2EEApplication application,
-                              @ParamSpecial(type = SpecialAttributeType.kernel) Kernel kernel) throws Exception {
+                                @ParamAttribute(name = "contextPath") String contextPath,
+                                @ParamAttribute(name = "deploymentDescriptor") String originalSpecDD,
+                                @ParamAttribute(name = "modulePath")String modulePath,
+                                @ParamAttribute(name = "componentContext") Map<String, Object> componentContext,
+                                @ParamSpecial(type = SpecialAttributeType.classLoader) ClassLoader classLoader,
+                                @ParamSpecial(type = SpecialAttributeType.bundle) Bundle bundle,
+                                @ParamAttribute(name = "configurationBaseUrl") URL configurationBaseUrl,
+                                @ParamAttribute(name = "workDir") String workDir,
+                                @ParamAttribute(name = "unshareableResources") Set<String> unshareableResources,
+                                @ParamAttribute(name = "applicationManagedSecurityResources") Set<String> applicationManagedSecurityResources,
+                                @ParamAttribute(name = "displayName") String displayName,
+                                @ParamAttribute(name = "contextParamMap") Map<String, String> contextParamMap,
+                                @ParamAttribute(name = "listenerClassNames") Collection<String> listenerClassNames,
+                                @ParamAttribute(name = "distributable") boolean distributable,
+                                @ParamAttribute(name = "mimeMap") Map mimeMap,
+                                @ParamAttribute(name = "welcomeFiles") String[] welcomeFiles,
+                                @ParamAttribute(name = "localeEncodingMapping") Map<String, String> localeEncodingMapping,
+                                @ParamAttribute(name = "errorPages") Map errorPages,
+                                @ParamAttribute(name = "tagLibMap") Map<String, String> tagLibMap,
+                                @ParamAttribute(name = "compactPath") boolean compactPath,
+
+                                @ParamAttribute(name = GBEAN_ATTR_SESSION_TIMEOUT) int sessionTimeoutSeconds,
+                                @ParamReference(name = GBEAN_REF_SESSION_HANDLER_FACTORY) SessionHandlerFactory handlerFactory,
+                                @ParamReference(name = GBEAN_REF_PRE_HANDLER_FACTORY) PreHandlerFactory preHandlerFactory,
+
+                                @ParamAttribute(name = "policyContextID") String policyContextID,
+                                @ParamReference(name = "SecurityHandlerFactory") SecurityHandlerFactory securityHandlerFactory,
+                                @ParamReference(name = "RunAsSource") RunAsSource runAsSource,
+
+                                @ParamAttribute(name = "holder") Holder holder,
+
+                                @ParamReference(name = "Host") Host host,
+                                @ParamReference(name = "TransactionManager") TransactionManager transactionManager,
+                                @ParamReference(name = "TrackedConnectionAssociator") TrackedConnectionAssociator trackedConnectionAssociator,
+                                @ParamReference(name = "JettyContainer") JettyContainer jettyContainer,
+                                @ParamReference(name = "ContextCustomizer") RuntimeCustomizer contextCustomizer,
+
+                                @ParamReference(name = "J2EEServer") J2EEServer server,
+                                @ParamReference(name = "J2EEApplication") J2EEApplication application,
+                                @ParamSpecial(type = SpecialAttributeType.kernel) Kernel kernel) throws Exception {
 
         assert componentContext != null;
         assert classLoader != null;
@@ -187,7 +187,7 @@
         GeronimoUserTransaction userTransaction = new GeronimoUserTransaction(transactionManager);
         this.componentContext = EnterpriseNamingContext.createEnterpriseNamingContext(componentContext, userTransaction, kernel, classLoader);
         integrationContext = new IntegrationContext(this.componentContext, unshareableResources, applicationManagedSecurityResources, trackedConnectionAssociator, userTransaction, bundle);
-        webAppContext = new GeronimoWebAppContext(securityHandler, sessionHandler, servletHandler, null, integrationContext, classLoader);
+        webAppContext = new GeronimoWebAppContext(securityHandler, sessionHandler, servletHandler, null, integrationContext, classLoader, modulePath);
         webAppContext.setContextPath(contextPath);
         //See Jetty-386.  Setting this to true can expose secured content.
         webAppContext.setCompactPath(compactPath);
@@ -296,8 +296,8 @@
         return this.webAppContext.getContextPath();
     }
 
-    public ClassLoader getWebClassLoader() {
-        return webClassLoader;
+    public <T>Class<? extends T> loadClass(String className, Class<T> clazz) throws ClassNotFoundException {
+        return integrationContext.getBundle().loadClass(className).asSubclass(clazz);
     }
 
     public IntegrationContext getIntegrationContext() {

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/main/java/org/apache/geronimo/jetty8/handler/GeronimoWebAppContext.java Thu Dec 10 09:34:32 2009
@@ -47,14 +47,15 @@
  */
 public class GeronimoWebAppContext extends WebAppContext {
 
-    protected final IntegrationContext integrationContext;
+    private final IntegrationContext integrationContext;
+    private final String modulePath;
 
-
-    public GeronimoWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler, IntegrationContext integrationContext, ClassLoader classLoader) {
+    public GeronimoWebAppContext(SecurityHandler securityHandler, SessionHandler sessionHandler, ServletHandler servletHandler, ErrorHandler errorHandler, IntegrationContext integrationContext, ClassLoader classLoader, String modulePath) {
         super(sessionHandler, securityHandler, servletHandler, errorHandler);
         this.integrationContext = integrationContext;
         setClassLoader(classLoader);
         setAttribute("osgi-bundlecontext", integrationContext.getBundle().getBundleContext());
+        this.modulePath = modulePath;
     }
 
     @Override
@@ -113,6 +114,9 @@
 
     @Override
     public Resource getResource(String uriInContext) throws MalformedURLException {
+        if (modulePath != null) {
+            uriInContext = modulePath + uriInContext;
+        }
         URL url = integrationContext.getBundle().getEntry(uriInContext);
         if (url == null) {
             return null;

Modified: geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java (original)
+++ geronimo/server/trunk/plugins/jetty8/geronimo-jetty8/src/test/java/org/apache/geronimo/jetty8/AbstractWebModuleTest.java Thu Dec 10 09:34:32 2009
@@ -18,7 +18,6 @@
 
 import java.io.File;
 import java.net.URL;
-import java.net.URI;
 import java.security.PermissionCollection;
 import java.security.Permissions;
 import java.security.Principal;
@@ -143,6 +142,7 @@
         WebAppContextWrapper app = new WebAppContextWrapper(null,
                 contextPath,
                 null,
+                null,
                 Collections.<String, Object>emptyMap(),
                 cl,
                 bundle,

Modified: geronimo/server/trunk/plugins/pluto/geronimo-pluto/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/pom.xml (original)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/pom.xml Thu Dec 10 09:34:32 2009
@@ -37,6 +37,14 @@
             <groupId>org.apache.portals.pluto</groupId>
             <artifactId>pluto-container</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.portals.pluto</groupId>
+            <artifactId>pluto-container-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.portals.pluto</groupId>
+            <artifactId>pluto-container-driver-api</artifactId>
+        </dependency>
 
         <dependency>
             <groupId>org.apache.portals.pluto</groupId>
@@ -63,5 +71,21 @@
             <artifactId>commons-digester</artifactId>
         </dependency>
     </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+              <groupId>org.apache.felix</groupId>
+              <artifactId>maven-bundle-plugin</artifactId>
+              <configuration>
+                <instructions>
+                    <Export-Package>org.apache.geronimo.pluto,
+                        org.apache.geronimo.pluto.impl
+                    </Export-Package>
+                    <!--<Import-Package>*</Import-Package>-->
+                </instructions>
+              </configuration>
+            </plugin>
+        </plugins>
+    </build>
 
 </project>

Added: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java?rev=889157&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java (added)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java Thu Dec 10 09:34:32 2009
@@ -0,0 +1,30 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+package org.apache.geronimo.pluto;
+
+import org.apache.pluto.driver.services.impl.resource.ResourceConfig;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public interface ConfigService {
+    ResourceConfig getResourceConfig();
+}

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigService.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java?rev=889157&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java (added)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java Thu Dec 10 09:34:32 2009
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+package org.apache.geronimo.pluto;
+
+import java.io.InputStream;
+import java.util.Hashtable;
+
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceRegistration;
+import org.apache.geronimo.pluto.impl.ResourceConfigReader;
+import org.apache.geronimo.kernel.osgi.BundleClassLoader;
+import org.apache.pluto.driver.services.impl.resource.ResourceConfig;
+import org.apache.pluto.driver.services.portal.RenderConfig;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ConfigServiceActivator implements BundleActivator {
+
+    private ServiceRegistration serviceRegistration;
+
+    @Override
+    public void start(BundleContext bundleContext) throws Exception {
+        InputStream in = bundleContext.getBundle().getResource(ResourceConfigReader.CONFIG_FILE).openStream();
+        ClassLoader tccl = Thread.currentThread().getContextClassLoader();
+        Thread.currentThread().setContextClassLoader(new BundleClassLoader(bundleContext.getBundle()));
+        ResourceConfig config;
+        try {
+            config = new ResourceConfigReader(new BundleClassLoader(bundleContext.getBundle())).parse(in);
+        } finally {
+            Thread.currentThread().setContextClassLoader(tccl);
+        }
+
+        ConfigService configService = new ConfigServiceImpl(config);
+        serviceRegistration = bundleContext.registerService(ConfigService.class.getName(), configService, new Hashtable());
+    }
+
+    @Override
+    public void stop(BundleContext bundleContext) throws Exception {
+        serviceRegistration.unregister();
+    }
+}

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceActivator.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java?rev=889157&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java (added)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java Thu Dec 10 09:34:32 2009
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+package org.apache.geronimo.pluto;
+
+import org.apache.pluto.driver.services.impl.resource.ResourceConfig;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ConfigServiceImpl implements ConfigService {
+
+    private final ResourceConfig resourceConfig;
+
+    public ConfigServiceImpl(ResourceConfig resourceConfig) {
+        this.resourceConfig = resourceConfig;
+    }
+
+    public ResourceConfig getResourceConfig() {
+        return resourceConfig;
+    }
+    
+}
+
+

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ConfigServiceImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalStartupListener.java (from r888219, portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalStartupListener.java)
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalStartupListener.java?p2=geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalStartupListener.java&p1=portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalStartupListener.java&r1=888219&r2=889157&rev=889157&view=diff
==============================================================================
--- portals/pluto/trunk/pluto-portal-driver/src/main/java/org/apache/pluto/driver/PortalStartupListener.java (original)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/PortalStartupListener.java Thu Dec 10 09:34:32 2009
@@ -14,7 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.pluto.driver;
+package org.apache.geronimo.pluto;
+
+import java.io.InputStream;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletContextEvent;
@@ -29,8 +31,10 @@
 import org.apache.pluto.driver.config.AdminConfiguration;
 import org.apache.pluto.driver.config.DriverConfiguration;
 import org.apache.pluto.driver.config.DriverConfigurationException;
-import org.apache.pluto.driver.container.PortalDriverServicesImpl;
-import org.springframework.web.context.WebApplicationContext;
+import org.apache.pluto.driver.container.ResourceSource;
+import org.apache.pluto.driver.AttributeKeys;
+import org.osgi.framework.BundleContext;
+import org.osgi.framework.ServiceReference;
 
 /**
  * Listener used to start up / shut down the Pluto Portal Driver upon startup /
@@ -93,33 +97,28 @@
     public void contextInitialized(ServletContextEvent event) {
         LOG.info("Starting up Pluto Portal Driver. . .");
 
-        ServletContext servletContext = event.getServletContext();
+        final ServletContext servletContext = event.getServletContext();
+
+        BundleContext bundleContext = (BundleContext) servletContext.getAttribute("osgi-bundlecontext");
 
-        WebApplicationContext springContext = null;
-        
-        try {
-        	springContext = (WebApplicationContext)
-        		servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
-        	
-        } catch (RuntimeException ex) {
-        	String msg = "Problem getting Spring context: " + ex.getMessage();
-        	LOG.error(msg, ex);
-        	throw ex;
-        }
-     
         LOG.debug(" [1a] Loading DriverConfiguration. . . ");
-        DriverConfiguration driverConfiguration = (DriverConfiguration)
-                springContext.getBean("DriverConfiguration");
+        ServiceReference serviceReference = bundleContext.getServiceReference(DriverConfiguration.class.getName());
+        DriverConfiguration driverConfiguration = (DriverConfiguration) bundleContext.getService(serviceReference);
+
+//        driverConfiguration.init(new ResourceSource() {
+//            public InputStream getResourceAsStream(String resourceName) {
+//                return servletContext.getResourceAsStream(resourceName);
+//            }
+//        });
 
-        driverConfiguration.init(servletContext);
 
         LOG.debug(" [1b] Registering DriverConfiguration. . .");
         servletContext.setAttribute(DRIVER_CONFIG_KEY, driverConfiguration);
 
 
         LOG.debug(" [2a] Loading Optional AdminConfiguration. . .");
-        AdminConfiguration adminConfiguration = (AdminConfiguration)
-                springContext.getBean("AdminConfiguration");
+        serviceReference = bundleContext.getServiceReference(AdminConfiguration.class.getName());
+        AdminConfiguration adminConfiguration = (AdminConfiguration)bundleContext.getService(serviceReference);
 
         if (adminConfiguration != null) {
             LOG.debug(" [2b] Registering Optional AdminConfiguration");
@@ -128,41 +127,6 @@
             LOG.info("Optional AdminConfiguration not found. Ignoring.");
         }
 
-        initContainer(servletContext);
-
-        LOG.info("********** Pluto Portal Driver Started **********\n\n");
-    }
-
-    /**
-     * Recieve notification that the context is being shut down and subsequently
-     * destroy the container.
-     *
-     * @param event the destrubtion event.
-     */
-    public void contextDestroyed(ServletContextEvent event) {
-        ServletContext servletContext = event.getServletContext();
-        if (LOG.isInfoEnabled()) {
-            LOG.info("Shutting down Pluto Portal Driver...");
-        }
-        destroyContainer(servletContext);
-        destroyAdminConfiguration(servletContext);
-        destroyDriverConfiguration(servletContext);
-        if (LOG.isInfoEnabled()) {
-            LOG.info("********** Pluto Portal Driver Shut Down **********\n\n");
-        }
-    }
-
-
-    /**
-     * Initializes the portlet container. This method constructs and initializes
-     * the portlet container, and saves it to the servlet context scope.
-     *
-     * @param servletContext the servlet context.
-     */
-    private void initContainer(ServletContext servletContext) {
-
-        WebApplicationContext springContext = (WebApplicationContext)
-                servletContext.getAttribute(WebApplicationContext.ROOT_WEB_APPLICATION_CONTEXT_ATTRIBUTE);
 
         // Retrieve the driver configuration from servlet context.
         DriverConfiguration driverConfig = (DriverConfiguration)
@@ -170,14 +134,14 @@
 
         try {
             LOG.info("Initializing Portlet Container. . .");
-           
+
             // Create portlet container.
             LOG.debug(" [1] Creating portlet container...");
+            serviceReference = bundleContext.getServiceReference(PortalDriverServices.class.getName());
             PortletContainerFactory factory =
                     PortletContainerFactory.getInstance();
-            PortletContainer container = factory.createContainer(
-                driverConfig.getContainerName(), (PortalDriverServices)springContext.getBean("PortalDriverServices")
-            );
+            PortalDriverServices portalDriverServices = (PortalDriverServices) bundleContext.getService(serviceReference);
+            PortletContainer container = factory.createContainer(driverConfig.getContainerName(), portalDriverServices);
 
             // Initialize portlet container.
             LOG.debug(" [2] Initializing portlet container...");
@@ -194,8 +158,30 @@
             LOG.error("Unable to start up portlet container: "
                     + ex.getMessage(), ex);
         }
+
+        LOG.info("********** Pluto Portal Driver Started **********\n\n");
+    }
+
+    /**
+     * Receive notification that the context is being shut down and subsequently
+     * destroy the container.
+     *
+     * @param event the destrubtion event.
+     */
+    public void contextDestroyed(ServletContextEvent event) {
+        ServletContext servletContext = event.getServletContext();
+        if (LOG.isInfoEnabled()) {
+            LOG.info("Shutting down Pluto Portal Driver...");
+        }
+        destroyContainer(servletContext);
+        destroyAdminConfiguration(servletContext);
+        destroyDriverConfiguration(servletContext);
+        if (LOG.isInfoEnabled()) {
+            LOG.info("********** Pluto Portal Driver Shut Down **********\n\n");
+        }
     }
 
+
     // Private Destruction Methods ---------------------------------------------
 
     /**

Added: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java?rev=889157&view=auto
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java (added)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java Thu Dec 10 09:34:32 2009
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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.
+ */
+
+
+package org.apache.geronimo.pluto;
+
+import org.apache.pluto.driver.services.impl.resource.ResourceConfig;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class ResourceConfigFactory {
+
+//    private final ResourceConfig resourceConfig;
+
+//    public ResourceConfigFactory(ConfigService configService) {
+//        this.resourceConfig = configService.getResourceConfig();
+//    }
+
+    public static ResourceConfig getResourceConfig(ConfigService configService) {
+        return configService.getResourceConfig();
+    }
+}

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java
------------------------------------------------------------------------------
    svn:keywords = Date Revision

Propchange: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/ResourceConfigFactory.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/PropertyConfigServiceImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/PropertyConfigServiceImpl.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/PropertyConfigServiceImpl.java (original)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/PropertyConfigServiceImpl.java Thu Dec 10 09:34:32 2009
@@ -19,11 +19,8 @@
 import java.io.InputStream;
 import java.util.Set;
 
-import javax.servlet.ServletContext;
-
-//import org.apache.commons.logging.Log;
-//import org.apache.commons.logging.LogFactory;
 import org.apache.pluto.driver.config.DriverConfigurationException;
+import org.apache.pluto.driver.container.ResourceSource;
 import org.apache.pluto.driver.services.portal.PropertyConfigService;
 import org.apache.pluto.driver.services.impl.resource.ResourceConfig;
 
@@ -48,11 +45,15 @@
 
     }
 
+    public PropertyConfigServiceImpl(ResourceConfig config) {
+        this.config = config;
+    }
+
     /**
      * Initialization Lifecycle Method
      * @param ctx ServletContext for finding resources
      */
-    public void init(ServletContext ctx) {
+    public void init(ResourceSource ctx) {
         try {
             InputStream in = ctx.getResourceAsStream(ResourceConfigReader.CONFIG_FILE);
             config = ResourceConfigReader.getFactory().parse(in);

Modified: geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/ResourceConfigReader.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/ResourceConfigReader.java?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/ResourceConfigReader.java (original)
+++ geronimo/server/trunk/plugins/pluto/geronimo-pluto/src/main/java/org/apache/geronimo/pluto/impl/ResourceConfigReader.java Thu Dec 10 09:34:32 2009
@@ -52,6 +52,13 @@
         return factory;
     }
 
+    public ResourceConfigReader(ClassLoader cl) {
+        digester = new Digester();
+        // digester.setLogger(LOG);  // Too many log messages.
+        digester.setClassLoader(cl);
+        init();
+    }
+
     private Digester digester;
 
     private ResourceConfigReader() {

Modified: geronimo/server/trunk/plugins/pluto/pluto-support/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/pluto-support/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/pluto-support/pom.xml (original)
+++ geronimo/server/trunk/plugins/pluto/pluto-support/pom.xml Thu Dec 10 09:34:32 2009
@@ -162,6 +162,10 @@
             <groupId>org.apache.geronimo.bundles</groupId>
             <artifactId>commons-digester</artifactId>
         </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-ccpp_1.0_spec</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

Modified: geronimo/server/trunk/plugins/pluto/pluto-support/src/main/history/dependencies.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/pluto-support/src/main/history/dependencies.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/pluto-support/src/main/history/dependencies.xml (original)
+++ geronimo/server/trunk/plugins/pluto/pluto-support/src/main/history/dependencies.xml Thu Dec 10 09:34:32 2009
@@ -53,6 +53,11 @@
     </dependency>
     <dependency>
         <groupId>org.apache.geronimo.specs</groupId>
+        <artifactId>geronimo-ccpp_1.0_spec</artifactId>
+        <type>jar</type>
+    </dependency>
+    <dependency>
+        <groupId>org.apache.geronimo.specs</groupId>
         <artifactId>geronimo-el_1.0_spec</artifactId>
         <type>jar</type>
     </dependency>

Modified: geronimo/server/trunk/plugins/pluto/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/plugins/pluto/pom.xml?rev=889157&r1=889156&r2=889157&view=diff
==============================================================================
--- geronimo/server/trunk/plugins/pluto/pom.xml (original)
+++ geronimo/server/trunk/plugins/pluto/pom.xml Thu Dec 10 09:34:32 2009
@@ -56,6 +56,12 @@
             </dependency>
 
             <dependency>
+                <groupId>org.apache.geronimo.specs</groupId>
+                <artifactId>geronimo-ccpp_1.0_spec</artifactId>
+                <version>1.0.0-SNAPSHOT</version>
+            </dependency>
+
+            <dependency>
                 <groupId>org.apache.portals.pluto</groupId>
                 <artifactId>pluto-container</artifactId>
                 <version>${plutoVersion}</version>