geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pra...@apache.org
Subject svn commit: r499679 - in /geronimo/server/branches/2.0-M2: ./ assemblies/geronimo-jetty6-jee5/src/main/var/config/ assemblies/geronimo-tomcat6-jee5/src/main/var/config/ configs/client-deployer/src/plan/ configs/cxf/ configs/j2ee-deployer/src/plan/ conf...
Date Thu, 25 Jan 2007 06:33:06 GMT
Author: prasad
Date: Wed Jan 24 22:33:05 2007
New Revision: 499679

URL: http://svn.apache.org/viewvc?view=rev&rev=499679
Log:
* Merging changes from trunk to M2. Second batch

Modified:
    geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml
    geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml
    geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml
    geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
    geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml
    geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml
    geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
    geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
    geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java
    geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java
    geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
    geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
    geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
    geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
    geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml
    geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java
    geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
    geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
    geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml
    geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java
    geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java
    geronimo/server/branches/2.0-M2/pom.xml
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl
    geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml

Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml (original)
+++ geronimo/server/branches/2.0-M2/assemblies/geronimo-jetty6-jee5/src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
@@ -161,18 +161,13 @@
                 </pattern>
             </reference>
         </gbean>
-        <gbean name="OpenEjbRemoteRefBuilder">
+        <gbean name="EjbRefBuilder">
             <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
         </gbean>
 
-        <gbean name="OpenEjbClientRemoteRefBuilder">
+        <gbean name="ClientEjbRefBuilder">
             <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
         </gbean>
-
-        <gbean name="OpenEjbLocalRefBuilder">
-            <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-        </gbean>
-
     </module>
 
     <module name="org.apache.geronimo.configs/client-deployer/${version}/car">

Modified: geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml (original)
+++ geronimo/server/branches/2.0-M2/assemblies/geronimo-tomcat6-jee5/src/main/var/config/config.xml Wed Jan 24 22:33:05 2007
@@ -168,18 +168,13 @@
                 </pattern>
             </reference>
         </gbean>
-        <gbean name="OpenEjbRemoteRefBuilder">
+        <gbean name="EjbRefBuilder">
             <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
         </gbean>
 
-        <gbean name="OpenEjbClientRemoteRefBuilder">
+        <gbean name="ClientEjbRefBuilder">
             <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
         </gbean>
-
-        <gbean name="OpenEjbLocalRefBuilder">
-            <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee,http://java.sun.com/xml/ns/javaee</attribute>
-        </gbean>
-
     </module>
 
     <module name="org.apache.geronimo.configs/client-deployer/${version}/car">

Modified: geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/client-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -51,7 +51,7 @@
                 <name>AxisClientServiceRefBuilder</name>
             </pattern>
             <pattern>
-                <name>OpenEjbClientRemoteRefBuilder</name>
+                <name>ClientEjbRefBuilder</name>
             </pattern>
             <pattern>
                 <name>OpenEjbClientCorbaRefBuilder</name>

Modified: geronimo/server/branches/2.0-M2/configs/cxf/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/cxf/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/cxf/pom.xml Wed Jan 24 22:33:05 2007
@@ -49,6 +49,13 @@
             <version>${version}</version>
         </dependency>
 
+        <dependency>
+            <groupId>org.apache.geronimo.configs</groupId>
+            <artifactId>transaction-jta11</artifactId>
+            <version>${version}</version>
+            <type>car</type>
+        </dependency>
+
        <dependency>
             <groupId>org.apache.geronimo.modules</groupId>
             <artifactId>geronimo-cxf</artifactId>

Modified: geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/j2ee-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -120,10 +120,7 @@
                 <name>AxisServiceRefBuilder</name>
             </pattern>
             <pattern>
-                <name>OpenEjbRemoteRefBuilder</name>
-            </pattern>
-            <pattern>
-                <name>OpenEjbLocalRefBuilder</name>
+                <name>EjbRefBuilder</name>
             </pattern>
             <pattern>
                 <name>OpenEjbCorbaRefBuilder</name>

Modified: geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml (original)
+++ geronimo/server/branches/2.0-M2/configs/openejb-deployer/src/plan/plan.xml Wed Jan 24 22:33:05 2007
@@ -63,7 +63,7 @@
     </gbean>
 
 
-    <gbean name="OpenEjbRemoteRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.RemoteEjbRefBuilder">
+    <gbean name="EjbRefBuilder" class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
         <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
         <xml-attribute name="defaultEnvironment">
             <environment xmlns="http://geronimo.apache.org/xml/ns/deployment-${geronimoSchemaVersion}">
@@ -78,7 +78,7 @@
         </xml-attribute>
     </gbean>
 
-    <gbean name="OpenEjbClientRemoteRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.ClientEjbRefBuilder">
+    <gbean name="ClientEjbRefBuilder" class="org.apache.geronimo.openejb.deployment.EjbRefBuilder">
         <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
         <attribute name="host">${PlanClientAddresses}</attribute>
         <attribute name="port">${PlanOpenEJBPort}</attribute>
@@ -94,9 +94,4 @@
             </environment>
         </xml-attribute>
     </gbean>
-
-    <gbean name="OpenEjbLocalRefBuilder" class="org.apache.geronimo.openejb.deployment.ejbref.LocalEjbRefBuilder">
-        <attribute name="eeNamespaces">http://java.sun.com/xml/ns/j2ee</attribute>
-    </gbean>
-
 </module>

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-axis/src/main/java/org/apache/geronimo/axis/server/AxisWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -262,6 +262,9 @@
         response.getOutputStream().flush();
     }
 
+    public void destroy() {
+    }
+
     public URI getLocation() {
         return location;
     }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-axis2/src/main/java/org/apache/geronimo/axis2/Axis2WebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -343,6 +343,9 @@
         }
     }
     
+    public void destroy() {
+    }
+
     public class Axis2TransportInfo implements OutTransportInfo {
         private Response response;
 

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf-builder/src/main/java/org/apache/geronimo/cxf/builder/CXFBuilder.java Wed Jan 24 22:33:05 2007
@@ -49,6 +49,7 @@
 import org.apache.geronimo.j2ee.deployment.WebServiceBuilder;
 import org.apache.geronimo.j2ee.deployment.WebModule;
 import org.apache.geronimo.j2ee.deployment.Module;
+import org.apache.geronimo.j2ee.deployment.EARContext;
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.cxf.PortInfo;
 import org.apache.geronimo.cxf.CXFWebServiceContainerFactoryGBean;
@@ -186,6 +187,12 @@
 
         targetGBean.setReferencePattern("WebServiceContainerFactory", containerFactoryName);
         targetGBean.setAttribute("pojoClassName", seiClassName);
+
+        if (context instanceof EARContext) {
+            containerFactoryData.setReferencePattern("TransactionManager", 
+                                                     ((EARContext)context).getTransactionManagerName());
+        }
+
         return true;
     }
 

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/pom.xml Wed Jan 24 22:33:05 2007
@@ -47,6 +47,12 @@
         </dependency>
 
         <dependency>
+            <groupId>org.apache.geronimo.modules</groupId>
+            <artifactId>geronimo-transaction</artifactId>
+            <version>${version}</version>
+        </dependency>
+
+        <dependency>
             <groupId>org.apache.cxf</groupId>
             <artifactId>cxf-rt-frontend-jaxws</artifactId>
         </dependency>

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -99,6 +99,9 @@
         wsdlWriter.writeWSDL(def, response.getOutputStream());
     }
 
+    public void destroy() {
+    }
+
     private  EndpointImpl publishEndpoint(Object target) {
 
         assert target != null : "null target received";

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/CXFWebServiceContainerFactoryGBean.java Wed Jan 24 22:33:05 2007
@@ -20,8 +20,10 @@
 import java.util.Map;
 import java.util.logging.Logger;
 import java.util.logging.Level;
+
 import javax.naming.Context;
 import javax.naming.NamingException;
+import javax.transaction.TransactionManager;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.bus.cxf.CXFBusFactory;
@@ -30,6 +32,7 @@
 import org.apache.geronimo.j2ee.j2eeobjectnames.NameFactory;
 import org.apache.geronimo.kernel.Kernel;
 import org.apache.geronimo.naming.enc.EnterpriseNamingContext;
+import org.apache.geronimo.transaction.GeronimoUserTransaction;
 import org.apache.geronimo.webservices.WebServiceContainer;
 import org.apache.geronimo.webservices.WebServiceContainerFactory;
 
@@ -38,32 +41,36 @@
  */
 public class CXFWebServiceContainerFactoryGBean implements WebServiceContainerFactory {
 
-    private static final Logger LOG = 
-        Logger.getLogger(CXFWebServiceContainerFactoryGBean.class.getName());
+    private static final Logger LOG =
+            Logger.getLogger(CXFWebServiceContainerFactoryGBean.class.getName());
 
     private final PortInfo portInfo;
     private final Bus bus;
     private final Object endpointInstance;
     private Context context;
- 
-    public CXFWebServiceContainerFactoryGBean(PortInfo portInfo, 
-                                              String endpointClassName, 
-                                              ClassLoader classLoader,
-                                              Map componentContext,
-                                              Kernel kernel)
-        throws ClassNotFoundException, IllegalAccessException, InstantiationException {
-        
-        // TODO: get access to the transaction manager
+
+    public CXFWebServiceContainerFactoryGBean(PortInfo portInfo,
+            String endpointClassName,
+            ClassLoader classLoader,
+            Map componentContext,
+            Kernel kernel,
+            TransactionManager transactionManager)
+            throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+
+        GeronimoUserTransaction userTransaction = new GeronimoUserTransaction(transactionManager);
         if (componentContext != null) {
             try {
-                this.context = EnterpriseNamingContext.createEnterpriseNamingContext(componentContext, null, kernel, classLoader);
+                this.context = EnterpriseNamingContext.createEnterpriseNamingContext(componentContext,
+                        userTransaction,
+                        kernel,
+                        classLoader);
             } catch (NamingException e) {
                 LOG.log(Level.WARNING, "Failed to create naming context", e);
             }
         }
 
         this.portInfo = portInfo;
-        this.bus = new CXFBusFactory().getDefaultBus();
+        this.bus = (new CXFBusFactory()).createBus();
         Class endpointClass = classLoader.loadClass(endpointClassName);
         endpointInstance = endpointClass.newInstance();
     }
@@ -81,9 +88,10 @@
         infoBuilder.addAttribute("classLoader", ClassLoader.class, false);
         infoBuilder.addAttribute("componentContext", Map.class, true, true);
         infoBuilder.addAttribute("kernel", Kernel.class, false);
+        infoBuilder.addReference("TransactionManager", TransactionManager.class, NameFactory.TRANSACTION_MANAGER);
 
-        infoBuilder.setConstructor(new String[] {"portInfo", "endpointClassName", "classLoader", 
-                                                 "componentContext", "kernel"});
+        infoBuilder.setConstructor(new String[]{"portInfo", "endpointClassName", "classLoader",
+                "componentContext", "kernel", "TransactionManager"});
         GBEAN_INFO = infoBuilder.getBeanInfo();
     }
 

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-cxf/src/main/java/org/apache/geronimo/cxf/GeronimoDestination.java Wed Jan 24 22:33:05 2007
@@ -19,11 +19,19 @@
 import java.io.IOException;
 import java.io.OutputStream;
 import java.io.Serializable;
-import java.lang.reflect.Field;
+import java.io.InputStream;
+import java.net.HttpURLConnection;
+import java.util.Iterator;
+import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Enumeration;
 import java.util.StringTokenizer;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.ws.handler.MessageContext;
 
 import org.apache.cxf.Bus;
 import org.apache.cxf.message.Exchange;
@@ -37,6 +45,7 @@
 import org.apache.cxf.transport.http.AbstractHTTPDestination;
 import org.apache.cxf.ws.addressing.EndpointReferenceType;
 import org.apache.cxf.wsdl.EndpointReferenceUtils;
+import org.apache.geronimo.webservices.WebServiceContainer;
 import org.apache.geronimo.webservices.WebServiceContainer.Request;
 import org.apache.geronimo.webservices.WebServiceContainer.Response;
 
@@ -45,7 +54,9 @@
 
     private MessageObserver messageObserver;
 
-    public GeronimoDestination(Bus bus, ConduitInitiator conduitInitiator, EndpointInfo endpointInfo) throws IOException {
+    public GeronimoDestination(Bus bus, 
+                               ConduitInitiator conduitInitiator, 
+                               EndpointInfo endpointInfo) throws IOException {
         super(bus, conduitInitiator, endpointInfo);
     }
 
@@ -55,75 +66,92 @@
 
     public void invoke(Request request, Response response) throws Exception {
         MessageImpl message = new MessageImpl();
-        message.setContent(java.io.InputStream.class, request.getInputStream());
+        message.setContent(InputStream.class, request.getInputStream());
         message.setDestination(this);
 
         message.put(Request.class, request);
         message.put(Response.class, response);
 
+        HttpServletRequest servletRequest = 
+            (HttpServletRequest)request.getAttribute(WebServiceContainer.SERVLET_REQUEST);
+        message.put(MessageContext.SERVLET_REQUEST, servletRequest);
+        
+        HttpServletResponse servletResponse =
+            (HttpServletResponse)request.getAttribute(WebServiceContainer.SERVLET_RESPONSE);
+        message.put(MessageContext.SERVLET_RESPONSE, servletResponse);
+        
+        ServletContext servletContext = 
+            (ServletContext)request.getAttribute(WebServiceContainer.SERVLET_CONTEXT);
+        message.put(MessageContext.SERVLET_CONTEXT, servletContext);
+        
+        // this calls copyRequestHeaders()
+        setHeaders(message);
+        
+        message.put(Message.HTTP_REQUEST_METHOD, servletRequest.getMethod());
+        message.put(Message.PATH_INFO, servletRequest.getPathInfo());
+        message.put(Message.QUERY_STRING, servletRequest.getQueryString());
+        message.put(Message.CONTENT_TYPE, servletRequest.getContentType());
+        message.put(Message.ENCODING, servletRequest.getCharacterEncoding());
+        
         messageObserver.onMessage(message);
     }
 
-    public Conduit getBackChannel(Message inMessage, Message partialResponse, EndpointReferenceType address) throws IOException {
-        Response response = inMessage.get(Response.class);
-        Conduit backChannel;
-        Exchange ex = inMessage.getExchange();
-        EndpointReferenceType target = address != null
-                ? address
-                : ex.get(EndpointReferenceType.class);
-        if (target == null) {
-            backChannel = new BackChannelConduit(response);
-        } else {
-            throw new IllegalArgumentException("RM not yet implemented");
-        }
-        return backChannel;
-    }
-
-    public void shutdown() {
-    }
-
-    @Override
     protected void copyRequestHeaders(Message message, Map<String, List<String>> headers) {
-        Request req = message.get(Request.class);
-
-        // no map of headers so just find all static field constants that begin with HEADER_, get
-        // its value and get the corresponding header.
-        for (Field field : Request.class.getFields()) {
-            if (field.getName().startsWith("HEADER_")) {
-                try {
-                    assert field.getType().equals(String.class) : "unexpected field type";
-                    String headerName = (String) field.get(null);
-                    String headerValue = req.getHeader(headerName);
-                    if (headerValue != null) {
-                        List<String> values = headers.get(headerName);
-                        if (values == null) {
-                            values = new LinkedList<String>();
-                            headers.put(headerName, values);
-                        }
-                        values.addAll(splitMultipleHeaderValues(headerValue));
-                    }
-                } catch (IllegalAccessException ex) {
-                    // ignore 
+        HttpServletRequest servletRequest = (HttpServletRequest)message.get(MessageContext.SERVLET_REQUEST);
+        if (servletRequest != null) {
+            Enumeration names = servletRequest.getHeaderNames();
+            while(names.hasMoreElements()) {
+                String name = (String)names.nextElement();
+                
+                List<String> headerValues = headers.get(name);
+                if (headerValues == null) {
+                    headerValues = new ArrayList<String>();
+                    headers.put(name, headerValues);
+                }
+                
+                Enumeration values = servletRequest.getHeaders(name);
+                while(values.hasMoreElements()) {
+                    String value = (String)values.nextElement();
+                    headerValues.add(value);
                 }
             }
         }
     }
 
-    private List<String> splitMultipleHeaderValues(String value) {
-
-        List<String> allValues = new LinkedList<String>();
-        if (value.contains(",")) {
-            StringTokenizer st = new StringTokenizer(value, ",");
-            while (st.hasMoreTokens()) {
-                allValues.add(st.nextToken().trim());
-            }
-
+    public Conduit getBackChannel(Message inMessage,
+                                  Message partialResponse,
+                                  EndpointReferenceType address) throws IOException {
+        Conduit backChannel = null;
+        if (address == null) {
+            backChannel = new BackChannelConduit(address, inMessage);
         } else {
-            allValues.add(value);
+            if (partialResponse != null) {
+                // setup the outbound message to for 202 Accepted
+                partialResponse.put(Message.RESPONSE_CODE,
+                                    HttpURLConnection.HTTP_ACCEPTED);
+                backChannel = new BackChannelConduit(address, inMessage);
+            } else {
+                backChannel = conduitInitiator.getConduit(endpointInfo, address);
+                // ensure decoupled back channel input stream is closed
+                backChannel.setMessageObserver(new MessageObserver() {
+                    public void onMessage(Message m) {
+                        if (m.getContentFormats().contains(InputStream.class)) {
+                            InputStream is = m.getContent(InputStream.class);
+                            try {
+                                is.close();
+                            } catch (Exception e) {
+                                // ignore
+                            }
+                        }
+                    }
+                });
+            }
         }
-        return allValues;
+        return backChannel;
     }
 
+    public void shutdown() {
+    }
 
     public void setMessageObserver(MessageObserver messageObserver) {
         this.messageObserver = messageObserver;
@@ -131,15 +159,12 @@
 
     protected class BackChannelConduit implements Conduit {
 
-        //TODO this will soon be publically available from somewhere in CXF
-        private static final String ANONYMOUS_ADDRESS =
-                "http://www.w3.org/2005/08/addressing/anonymous";
-        protected Response response;
+        protected Message request;
         protected EndpointReferenceType target;
 
-        BackChannelConduit(Response resp) {
-            response = resp;
-            target = EndpointReferenceUtils.getEndpointReference(ANONYMOUS_ADDRESS);
+        BackChannelConduit(EndpointReferenceType target, Message request) {
+            this.target = target;
+            this.request = request;
         }
 
         public void close(Message msg) throws IOException {
@@ -162,12 +187,46 @@
          * @param message the message to be sent.
          */
         public void send(Message message) throws IOException {
-            message.put(Response.class, response);
+            Response response = (Response)request.get(Response.class);
+
+            // 1. handle response code
+            Integer i = (Integer)message.get(Message.RESPONSE_CODE);
+            if (i != null) {
+                response.setStatusCode(i.intValue());
+            }
+
+            // 2. handle response headers
+            updateResponseHeaders(message);
+
+            Map<String, List<String>> protocolHeaders =
+                (Map<String, List<String>>)message.get(Message.PROTOCOL_HEADERS);
+
+            // set headers of the HTTP response object
+            Iterator headers = protocolHeaders.entrySet().iterator();
+            while(headers.hasNext()) {
+                Map.Entry entry = (Map.Entry)headers.next();
+                String headerName = (String)entry.getKey();
+                String headerValue = getHeaderValue((List)entry.getValue());
+                response.setHeader(headerName, headerValue);
+            }
+
             //TODO gregw says this should work: current cxf-jetty code wraps output stream.
             //if this doesn't work, we'd see an error from jetty saying you cant write headers to the output stream.
             message.setContent(OutputStream.class, response.getOutputStream());
         }
 
+        private String getHeaderValue(List<String> values) {
+            Iterator iter = values.iterator();
+            StringBuffer buf = new StringBuffer();
+            while(iter.hasNext()) {
+                buf.append(iter.next());
+                if (iter.hasNext()) {
+                    buf.append(", ");
+                }
+            }
+            return buf.toString();
+        }
+        
         /**
          * @return the reference associated with the target Destination
          */

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-j2ee-builder/src/main/java/org/apache/geronimo/j2ee/deployment/EARContext.java Wed Jan 24 22:33:05 2007
@@ -48,7 +48,7 @@
 
     private final Map  messageDestinations = new HashMap();
 
-    private final Map generalData = new HashMap();
+    private final Map<Object,Object> generalData = new HashMap<Object,Object>();
 
     public EARContext(File baseDir,
             File inPlaceConfigurationDir,
@@ -172,7 +172,7 @@
         return messageDestinations;
     }
 
-    public Map getGeneralData() {
+    public Map<Object,Object> getGeneralData() {
         return generalData;
     }
 }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/pom.xml Wed Jan 24 22:33:05 2007
@@ -73,7 +73,12 @@
             <groupId>org.mortbay.jetty</groupId>
             <artifactId>jetty</artifactId>
         </dependency>
-        
+
+        <!--<dependency>-->
+            <!--<groupId>org.mortbay.jetty</groupId>-->
+            <!--<artifactId>jetty-plus</artifactId>-->
+        <!--</dependency>-->
+
         <dependency>
             <groupId>org.apache.tomcat</groupId>
             <artifactId>jasper</artifactId>

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/main/java/org/apache/geronimo/jetty6/JettyEJBWebServiceContext.java Wed Jan 24 22:33:05 2007
@@ -137,6 +137,11 @@
         RequestAdapter request = new RequestAdapter(jettyRequest);
         ResponseAdapter response = new ResponseAdapter(jettyResponse);
 
+        request.setAttribute(WebServiceContainer.SERVLET_REQUEST, req);
+        request.setAttribute(WebServiceContainer.SERVLET_RESPONSE, res);
+        // TODO: add support for context
+        request.setAttribute(WebServiceContainer.SERVLET_CONTEXT, null);
+
         if (req.getParameter("wsdl") != null) {
             try {
                 webServiceContainer.getWsdl(request, response);
@@ -325,5 +330,5 @@
             response.setStatus(response.getStatus(), responseString);
         }
     }
-
+    
 }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-jetty6/src/test/java/org/apache/geronimo/jetty6/app/MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -30,4 +30,7 @@
     
     }
 
+    public void destroy() {
+    }
+
 }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-kernel/src/main/java/org/apache/geronimo/kernel/util/ClassLoaderRegistry.java Wed Jan 24 22:33:05 2007
@@ -22,30 +22,40 @@
 
 
 public class ClassLoaderRegistry {
-    private static List<WeakReference> list = new ArrayList<WeakReference>();
-    public static List getList(){
+    private final static List<WeakReference> list = new ArrayList<WeakReference>();
+
+    public synchronized static List getList(){
         List<ClassLoader> ret = new ArrayList<ClassLoader>();
         for(int i=0;i<list.size();i++)
-            if(list.get(i) != null)ret.add((ClassLoader)list.get(i).get());
-            else
+            if(list.get(i) != null) {
+                ret.add((ClassLoader)list.get(i).get());
+            }
+            else {
                 list.remove(i);
+            }
         return ret;
     }
-    public static boolean add(ClassLoader cloader){
-        if(contains(cloader))
+    
+    public synchronized static boolean add(ClassLoader cloader){
+        if(contains(cloader)) {
             return false;
+        }
         return list.add(new WeakReference<ClassLoader>(cloader));
     } 
-    public static boolean contains(ClassLoader cloader){
-        for(int i=0;i<list.size();i++){
+    
+    public synchronized static boolean contains(ClassLoader cloader){
+        for(int i=0;i<list.size();i++) {
             WeakReference wk = list.get(i);
-            if(wk.get() == null)list.remove(i);
+            if(wk.get() == null) {
+                list.remove(i);
+            }
             else if(wk.get().equals(cloader))
                 return true;            
         }
         return false;
     }
-    public static boolean remove(ClassLoader cloader){
+    
+    public synchronized static boolean remove(ClassLoader cloader){
         boolean result = false;
         for(int i=0;i<list.size();i++){
             WeakReference wk = list.get(i);

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/geronimo-openejb.xml Wed Jan 24 22:33:05 2007
@@ -77,6 +77,22 @@
             <n:name>SystemDatasource</n:name>
         </n:pattern>
     </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateless.AnnotatedFieldInjectionStatelessBean/daataSource</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>system-database</n:artifactId>
+            <n:name>SystemDatasource</n:name>
+        </n:pattern>
+    </n:resource-ref>
+    <n:resource-ref>
+        <n:ref-name>org.apache.openejb.test.stateful.AnnotatedFieldInjectionStatefulBean/daataSource</n:ref-name>
+        <n:pattern>
+            <n:groupId>org.apache.geronimo.configs</n:groupId>
+            <n:artifactId>system-database</n:artifactId>
+            <n:name>SystemDatasource</n:name>
+        </n:pattern>
+    </n:resource-ref>
     <n:persistence-context-ref>
         <n:persistence-context-ref-name>persistence/TestContext</n:persistence-context-ref-name>
         <n:persistence-unit-name>openjpa-test-unit</n:persistence-unit-name>

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-openejb-builder/src/test/java/org/apache/geronimo/openejb/deployment/EjbModuleBuilderTest.java Wed Jan 24 22:33:05 2007
@@ -47,11 +47,11 @@
         TransactionManager transactionManager = new GeronimoTransactionManager();
         OpenEjbSystem openEjbSystem = new OpenEjbSystemGBean(transactionManager);
 
-        addEjbContainer(openEjbSystem, "Default Stateless Container");
-        addEjbContainer(openEjbSystem, "Default Stateful Container");
-        addEjbContainer(openEjbSystem, "Default BMP Container");
-        addEjbContainer(openEjbSystem, "Default CMP Container");
-        addEjbContainer(openEjbSystem, "Default MDB Container");
+        addEjbContainer(openEjbSystem, "Default Stateless Container", "STATELESS");
+        addEjbContainer(openEjbSystem, "Default Stateful Container", "STATEFUL");
+        addEjbContainer(openEjbSystem, "Default BMP Container", "BMP_ENTITY");
+        addEjbContainer(openEjbSystem, "Default CMP Container", "CMP_ENTITY");
+        addEjbContainer(openEjbSystem, "Default MDB Container", "MESSAGE");
 
         // load ejb-jar.xml
         String ejbJarXml = XmlUtil.loadEjbJarXml(null, moduleFile);
@@ -70,10 +70,11 @@
         openEjbSystem.createEjbJar(ejbJarInfo, classLoader);
     }
 
-    private void addEjbContainer(OpenEjbSystem openEjbSystem, String id) throws Exception {
+    private void addEjbContainer(OpenEjbSystem openEjbSystem, String id, String type) throws Exception {
         EjbContainer ejbContainer = new EjbContainer();
         ejbContainer.setOpenEjbSystem(openEjbSystem);
         ejbContainer.setId(id);
+        ejbContainer.setType(type);
         ejbContainer.doStart();
     }
 }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/GeronimoStandardContext.java Wed Jan 24 22:33:05 2007
@@ -23,6 +23,7 @@
 import java.util.Map;
 
 import javax.naming.NamingException;
+import javax.naming.Context;
 import javax.security.auth.Subject;
 import javax.security.jacc.PolicyContext;
 import javax.servlet.Servlet;
@@ -34,6 +35,7 @@
 import org.apache.catalina.Manager;
 import org.apache.catalina.Valve;
 import org.apache.catalina.Wrapper;
+import org.apache.catalina.util.DefaultAnnotationProcessor;
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.core.StandardContext;
@@ -93,6 +95,13 @@
             }
         } catch (NamingException ne) {
             log.error(ne);
+        }
+        try {
+            Context env = (Context) enc.lookup("env");
+            setAnnotationProcessor(new DefaultAnnotationProcessor(env));
+        } catch (NamingException e) {
+            // ignored
+            log.warn("Could not find env in enterprise naming context", e);
         }
 
         int index = 0;

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/java/org/apache/geronimo/tomcat/TomcatEJBWebServiceContext.java Wed Jan 24 22:33:05 2007
@@ -24,7 +24,10 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.catalina.authenticator.BasicAuthenticator;
 import org.apache.catalina.authenticator.DigestAuthenticator;
@@ -130,6 +133,12 @@
             req.setContentType("text/xml");
             RequestAdapter request = new RequestAdapter(req);
             ResponseAdapter response = new ResponseAdapter(res);
+
+            request.setAttribute(WebServiceContainer.SERVLET_REQUEST, (HttpServletRequest)req);
+            request.setAttribute(WebServiceContainer.SERVLET_RESPONSE, (HttpServletResponse)res);
+            // TODO: add support for context
+            request.setAttribute(WebServiceContainer.SERVLET_CONTEXT, null);
+
             req.finishRequest();
             if (req.getParameter("wsdl") != null) {
                 try {

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/main/resources/META-INF/geronimo-dependency.xml Wed Jan 24 22:33:05 2007
@@ -22,7 +22,12 @@
             <dep:groupId>org.apache.tomcat</dep:groupId>
             <dep:artifactId>catalina</dep:artifactId>
         </dep:dependency>
-        
+
+        <dep:dependency>
+            <dep:groupId>org.apache.tomcat</dep:groupId>
+            <dep:artifactId>annotations-api</dep:artifactId>
+        </dep:dependency>
+
         <dep:dependency>
             <dep:groupId>org.apache.tomcat</dep:groupId>
             <dep:artifactId>jasper</dep:artifactId>

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-tomcat6/src/test/java/org/apache/geronimo/tomcat/app/MockWebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -30,4 +30,7 @@
    
    }
 
+    public void destroy() {
+    }
+
 }

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainer.java Wed Jan 24 22:33:05 2007
@@ -43,6 +43,24 @@
     public static final String MESSAGE_CONTEXT = WebServiceContainer.class.getName()+"@MessageContext";
 
     /**
+     * Used for JAX-WS MessageContext. MessageContext must expose HttpServletRequest. 
+     */
+    public static final String SERVLET_REQUEST = 
+        WebServiceContainer.class.getName()+"@ServletRequest";
+    
+    /**
+     * Used for JAX-WS MessageContext. MessageContext must expose HttpServletResponse.
+     */
+    public static final String SERVLET_RESPONSE = 
+        WebServiceContainer.class.getName()+"@ServletResponse";
+    
+    /**
+     * Used for JAX-WS MessageContext. MessageContext must expose ServletContext.
+     */
+    public static final String SERVLET_CONTEXT = 
+        WebServiceContainer.class.getName()+"@ServletContext";
+    
+    /**
      * Token inserted into wsdl where location should be replaced with the real location
      */
     public String LOCATION_REPLACEMENT_TOKEN = "LOCATIONREPLACEMENTTOKEN";
@@ -50,6 +68,8 @@
     void invoke(Request request, Response response) throws Exception;
 
     void getWsdl(Request req, Response res) throws Exception;
+
+    void destroy();
 
     public interface Request {
         /** the HTTP OPTIONS type */

Modified: geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java (original)
+++ geronimo/server/branches/2.0-M2/modules/geronimo-webservices/src/main/java/org/apache/geronimo/webservices/WebServiceContainerInvoker.java Wed Jan 24 22:33:05 2007
@@ -40,19 +40,21 @@
 
     private final Object pojo;
     private WebServiceContainer service;
+    private ServletConfig config;
 
     public WebServiceContainerInvoker(Object pojo) {
         this.pojo = pojo;
     }
 
     public void init(ServletConfig config) throws ServletException {
+        this.config = config;
         ServletContext context = config.getServletContext();
         String webServiceContainerID = config.getInitParameter(WEBSERVICE_CONTAINER);
         service = (WebServiceContainer) context.getAttribute(webServiceContainerID);
     }
 
     public ServletConfig getServletConfig() {
-        return null;
+        return config;
     }
 
     public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
@@ -63,6 +65,10 @@
         // This is the guy the WebServiceContainer should invoke
         req.setAttribute(WebServiceContainer.POJO_INSTANCE, pojo);
 
+        req.setAttribute(WebServiceContainer.SERVLET_REQUEST, (HttpServletRequest) req);
+        req.setAttribute(WebServiceContainer.SERVLET_RESPONSE, (HttpServletResponse) res);
+        req.setAttribute(WebServiceContainer.SERVLET_CONTEXT, config.getServletContext());
+
         if (req.getParameter("wsdl") != null || req.getParameter("WSDL") != null) {
             try {
                 service.getWsdl(request, response);
@@ -91,6 +97,7 @@
     }
 
     public void destroy() {
+        service.destroy();
     }
 
     private static class RequestAdapter implements WebServiceContainer.Request {
@@ -141,7 +148,6 @@
             return request.getParameterMap();
         }
 
-
         private static final Map methods = new HashMap();
 
         static {
@@ -175,7 +181,7 @@
         public ResponseAdapter(HttpServletResponse response) {
             this.response = response;
         }
-
+        
         public void setHeader(String name, String value) {
             response.setHeader(name, value);
         }

Modified: geronimo/server/branches/2.0-M2/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/pom.xml Wed Jan 24 22:33:05 2007
@@ -818,6 +818,12 @@
 
             <dependency>
                 <groupId>org.apache.tomcat</groupId>
+                <artifactId>annotations-api</artifactId>
+                <version>${tomcatVersion}</version>
+            </dependency>
+
+           <dependency>
+                <groupId>org.apache.tomcat</groupId>
                 <artifactId>jasper</artifactId>
                 <version>${tomcatVersion}</version>
             </dependency>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/pom.xml Wed Jan 24 22:33:05 2007
@@ -137,7 +137,7 @@
                             <goal>undeploy-module</goal>
                         </goals>
                         <configuration>
-                            <moduleId>CXF/cxfPojoServlet/1.1/car</moduleId>
+                            <moduleId>JEE5/JAXWSServlet/1.1/car</moduleId>
                         </configuration>
                     </execution>
                 </executions>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/java/org/apache/hello_world_soap_http/GreeterImpl.java Wed Jan 24 22:33:05 2007
@@ -37,12 +37,14 @@
             targetNamespace = "http://apache.org/hello_world_soap_http")
 public class GreeterImpl implements Greeter {
 
-    private static final Logger LOG = Logger.getLogger(GreeterImpl.class.getName());
+    private static final Logger LOG =
+        Logger.getLogger(GreeterImpl.class.getName());
 
     @Resource
     private WebServiceContext context;
 
-    private int invocationCount;
+    @Resource(name="greeting")
+    private String greeting;
 
     public WebServiceContext getContext() {
         return context;
@@ -50,7 +52,10 @@
 
     public String greetMe(String me) {
         LOG.info("Invoking greetMe " + me);
-        invocationCount++;
-        return "Hello " + me;
+
+        LOG.info("Principal: " + context.getUserPrincipal());
+        LOG.info("Context: " + context.getMessageContext());
+        
+        return greeting + " " + me;
     }
 }

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/geronimo-web.xml Wed Jan 24 22:33:05 2007
@@ -18,8 +18,8 @@
 <web-app xmlns="http://geronimo.apache.org/xml/ns/j2ee/web-1.1" xmlns:dep="http://geronimo.apache.org/xml/ns/deployment-1.1" xmlns:naming="http://geronimo.apache.org/xml/ns/naming-1.1">
   <dep:environment>
     <dep:moduleId>
-      <dep:groupId>CXF</dep:groupId>
-      <dep:artifactId>cxfPojoServlet</dep:artifactId>
+      <dep:groupId>JEE5</dep:groupId>
+      <dep:artifactId>JAXWSServlet</dep:artifactId>
       <dep:version>1.1</dep:version>
       <dep:type>car</dep:type>
     </dep:moduleId>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/web.xml Wed Jan 24 22:33:05 2007
@@ -22,18 +22,25 @@
          version="2.5"
         >
 
-    <display-name>Geronimo CXF POJO WS War</display-name>
+    <display-name>Geronimo POJO WS War</display-name>
 
     <servlet>
-        <display-name>Geronimo CXF POJO WS</display-name>
-        <servlet-name>cxfPojoServlet</servlet-name>
+        <display-name>Geronimo POJO WS</display-name>
+        <servlet-name>POJOServlet</servlet-name>
         <servlet-class>org.apache.hello_world_soap_http.GreeterImpl</servlet-class>
         <load-on-startup>0</load-on-startup>
     </servlet>
 
     <servlet-mapping>
-        <servlet-name>cxfPojoServlet</servlet-name>
+        <servlet-name>POJOServlet</servlet-name>
         <url-pattern>/servlet</url-pattern>
     </servlet-mapping>
+
+    <env-entry>
+        <description>Welcome message</description>
+        <env-entry-name>greeting</env-entry-name>
+        <env-entry-type>java.lang.String</env-entry-type>
+        <env-entry-value>Hello</env-entry-value>
+   </env-entry>
 
 </web-app>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/webservices.xml Wed Jan 24 22:33:05 2007
@@ -26,15 +26,15 @@
 		http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd"
              version="1.2">
     <webservice-description>
-        <webservice-description-name>cxfPojo</webservice-description-name>
+        <webservice-description-name>POJO WS</webservice-description-name>
         <wsdl-file>WEB-INF/wsdl/greeter_control.wsdl</wsdl-file>
         <port-component>
-            <port-component-name>cxfPojoName</port-component-name>
+            <port-component-name>POJOPort</port-component-name>
             <wsdl-service></wsdl-service>
             <enable-mtom>false</enable-mtom>
             <service-endpoint-interface>org.apache.hello_world_soap_http.Greeter</service-endpoint-interface>
             <service-impl-bean>
-                <servlet-link>cxfPojoServlet</servlet-link>
+                <servlet-link>POJOServlet</servlet-link>
             </service-impl-bean>
         </port-component>
     </webservice-description>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/main/webapp/WEB-INF/wsdl/greeter_control.wsdl Wed Jan 24 22:33:05 2007
@@ -19,13 +19,13 @@
 -->
 <wsdl:definitions xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
-    xmlns:tns="http://cxf.apache.org/greeter_control"
-    xmlns:x1="http://cxf.apache.org/greeter_control/types"
+    xmlns:tns="http://apache.org/greeter_control"
+    xmlns:x1="http://apache.org/greeter_control/types"
     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
-    targetNamespace="http://cxf.apache.org/greeter_control" name="HelloWorld">
+    targetNamespace="http://apache.org/greeter_control" name="HelloWorld">
     <wsdl:types>
-        <schema targetNamespace="http://cxf.apache.org/greeter_control/types" 
+        <schema targetNamespace="http://apache.org/greeter_control/types" 
             xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
             <element name="sayHi">
                 <complexType/>
@@ -73,31 +73,6 @@
                 </complexType>
             </element>
             
-            <element name="startGreeter">
-                <complexType>
-                    <sequence>
-                        <element name="requestType" type="xsd:string"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="startGreeterResponse">
-                <complexType>
-                    <sequence>
-                        <element name="responseType" type="xsd:boolean"/>
-                    </sequence>
-                </complexType>
-            </element>
-            <element name="stopGreeter">
-                <complexType/>
-            </element>
-            <element name="stopGreeterResponse">
-                <complexType>
-                    <sequence>
-                        <element name="responseType" type="xsd:boolean"/>
-                    </sequence>
-                </complexType>
-            </element>
-
         </schema>
     </wsdl:types>
 
@@ -126,20 +101,7 @@
     <wsdl:message name="pingMeFault">
         <wsdl:part name="faultDetail" element="x1:faultDetail"/>
     </wsdl:message> 
-    
-    <wsdl:message name="startGreeterRequest">
-        <wsdl:part element="x1:startGreeter" name="in"/>
-    </wsdl:message>
-    <wsdl:message name="startGreeterResponse">
-        <wsdl:part element="x1:startGreeterResponse" name="out"/>
-    </wsdl:message>    
-    <wsdl:message name="stopGreeterRequest">
-        <wsdl:part element="x1:stopGreeter" name="in"/>
-    </wsdl:message>
-    <wsdl:message name="stopGreeterResponse">
-        <wsdl:part element="x1:stopGreeterResponse" name="out"/>
-    </wsdl:message>
-    
+        
     <wsdl:portType name="Greeter">
         <wsdl:operation name="sayHi">
             <wsdl:input message="tns:sayHiRequest" name="sayHiRequest"/>
@@ -162,17 +124,6 @@
         </wsdl:operation> 
     </wsdl:portType>
     
-    <wsdl:portType name="Control">
-        <wsdl:operation name="startGreeter">
-            <wsdl:input message="tns:startGreeterRequest" name="startGreeterRequest"/>
-            <wsdl:output message="tns:startGreeterResponse" name="startGreeterResponse"/>
-        </wsdl:operation>
-        
-        <wsdl:operation name="stopGreeter">
-            <wsdl:input message="tns:stopGreeterRequest" name="stopGreeterRequest"/>
-            <wsdl:output message="tns:stopGreeterResponse" name="stopGreeterResponse"/>
-        </wsdl:operation>
-    </wsdl:portType>
 
     <wsdl:binding name="GreeterSOAPBinding" type="tns:Greeter">
         <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
@@ -219,37 +170,9 @@
         
     </wsdl:binding>
   
-    <wsdl:binding name="ControlSOAPBinding" type="tns:Control">
-        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
-        <wsdl:operation name="startGreeter">
-            <soap:operation soapAction="" style="document"/>
-            <wsdl:input name="startGreeterRequest">
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output name="startGreeterResponse">
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
-        <wsdl:operation name="stopGreeter">
-            <soap:operation soapAction="" style="document"/>
-            <wsdl:input name="stopGreeterRequest">
-                <soap:body use="literal"/>
-            </wsdl:input>
-            <wsdl:output name="stopGreeterResponse">
-                <soap:body use="literal"/>
-            </wsdl:output>
-        </wsdl:operation>
-    </wsdl:binding>
-
-    <wsdl:service name="ControlService">
-        <wsdl:port binding="tns:ControlSOAPBinding" name="ControlPort">
-            <soap:address location="http://localhost:9001/SoapContext/ControlPort"/>
-        </wsdl:port>
-    </wsdl:service>
-    
     <wsdl:service name="GreeterService">
         <wsdl:port binding="tns:GreeterSOAPBinding" name="GreeterPort">
-            <soap:address location="http://localhost:9020/SoapContext/GreeterPort"/>
+            <soap:address location="http://localhost:8080/SoapContext/GreeterPort"/>
             <wswa:UsingAddressing xmlns:wswa="http://www.w3.org/2005/08/addressing/wsdl"/>
         </wsdl:port>
     </wsdl:service>

Modified: geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml
URL: http://svn.apache.org/viewvc/geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml?view=diff&rev=499679&r1=499678&r2=499679
==============================================================================
--- geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml (original)
+++ geronimo/server/branches/2.0-M2/testsuite/webservices-testsuite/jaxws-tests/jaxws-war/src/test/resources/request1.xml Wed Jan 24 22:33:05 2007
@@ -19,7 +19,7 @@
 -->
 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
-     <greetMe xmlns="http://apache.org/hello_world_soap_http">
+     <greetMe xmlns="http://apache.org/greeter_control/types">
        <requestType>foo bar</requestType>
      </greetMe>
    </soap:Body>



Mime
View raw message