You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2005/02/23 00:15:35 UTC

svn commit: r154910 - in geronimo/trunk/modules: jetty/src/java/org/apache/geronimo/jetty/ jetty/src/test/org/apache/geronimo/jetty/app/ webservices/src/java/org/apache/geronimo/webservices/

Author: djencks
Date: Tue Feb 22 15:15:32 2005
New Revision: 154910

URL: http://svn.apache.org/viewcvs?view=rev&rev=154910
Log:
hook the ejb ws up to jetty

Added:
    geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceContainer.java
Modified:
    geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainer.java
    geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainerImpl.java
    geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebServiceHandler.java
    geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/app/MockWebServiceInvoker.java
    geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceInvoker.java

Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainer.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainer.java?view=diff&r1=154909&r2=154910
==============================================================================
--- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainer.java (original)
+++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainer.java Tue Feb 22 15:15:32 2005
@@ -19,9 +19,8 @@
 
 import org.mortbay.http.HttpContext;
 import org.mortbay.http.HttpListener;
-import org.mortbay.http.UserRealm;
 import org.mortbay.http.RequestLog;
-import org.apache.geronimo.webservices.WebServiceInvoker;
+import org.mortbay.http.UserRealm;
 
 /**
  * @version $Rev$ $Date$
@@ -38,11 +37,6 @@
     void addRealm(UserRealm realm);
 
     void removeRealm(UserRealm realm);
-
-    //TODO these need to be in a separate interface, they need to be called by an ejb container that doesn't know it this is jetty or tomcat.
-    void addWebService(String contextPath, WebServiceInvoker webServiceInvoker) throws Exception;
-
-    void removeWebService(String contextPath);
 
     void resetStatistics();
 

Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainerImpl.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainerImpl.java?view=diff&r1=154909&r2=154910
==============================================================================
--- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainerImpl.java (original)
+++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyContainerImpl.java Tue Feb 22 15:15:32 2005
@@ -17,27 +17,28 @@
 
 package org.apache.geronimo.jetty;
 
-import java.util.Map;
 import java.util.HashMap;
+import java.util.Map;
 
+import org.apache.geronimo.gbean.GBeanInfo;
+import org.apache.geronimo.gbean.GBeanInfoBuilder;
+import org.apache.geronimo.gbean.GBeanLifecycle;
+import org.apache.geronimo.webservices.WebServiceContainer;
+import org.apache.geronimo.webservices.WebServiceInvoker;
 import org.mortbay.http.HttpContext;
 import org.mortbay.http.HttpListener;
 import org.mortbay.http.RequestLog;
 import org.mortbay.http.UserRealm;
 import org.mortbay.jetty.Server;
 
-import org.apache.geronimo.gbean.GBeanInfo;
-import org.apache.geronimo.gbean.GBeanInfoBuilder;
-import org.apache.geronimo.gbean.GBeanLifecycle;
-import org.apache.geronimo.webservices.WebServiceInvoker;
-
 /**
  * @version $Rev$ $Date$
  */
-public class JettyContainerImpl implements JettyContainer, GBeanLifecycle {
+public class JettyContainerImpl implements JettyContainer, WebServiceContainer, GBeanLifecycle {
     private final Server server;
     private final Map webServices = new HashMap();
 
+
     public JettyContainerImpl() {
         server = new JettyServer();
     }
@@ -177,36 +178,36 @@
     public static final GBeanInfo GBEAN_INFO;
 
     static {
-        GBeanInfoBuilder infoFactory = new GBeanInfoBuilder("Jetty Web Container", JettyContainerImpl.class);
-        infoFactory.addAttribute("collectStatistics", Boolean.TYPE, true);
-        infoFactory.addAttribute("collectStatisticsStarted", Long.TYPE, false);
-        infoFactory.addAttribute("connections", Integer.TYPE, false);
-        infoFactory.addAttribute("connectionsOpen", Integer.TYPE, false);
-        infoFactory.addAttribute("connectionsOpenMax", Integer.TYPE, false);
-        infoFactory.addAttribute("connectionsDurationAve", Long.TYPE, false);
-        infoFactory.addAttribute("connectionsDurationMax", Long.TYPE, false);
-        infoFactory.addAttribute("connectionsRequestsAve", Integer.TYPE, false);
-        infoFactory.addAttribute("connectionsRequestsMax", Integer.TYPE, false);
-        infoFactory.addAttribute("errors", Integer.TYPE, false);
-        infoFactory.addAttribute("requests", Integer.TYPE, false);
-        infoFactory.addAttribute("requestsActive", Integer.TYPE, false);
-        infoFactory.addAttribute("requestsActiveMax", Integer.TYPE, false);
-        infoFactory.addAttribute("requestsDurationAve", Long.TYPE, false);
-        infoFactory.addAttribute("requestsDurationMax", Long.TYPE, false);
-        infoFactory.addOperation("resetStatistics");
-
-        infoFactory.addAttribute("requestLog", RequestLog.class, false);
-
-        infoFactory.addOperation("addListener", new Class[]{HttpListener.class});
-        infoFactory.addOperation("removeListener", new Class[]{HttpListener.class});
-        infoFactory.addOperation("addContext", new Class[]{HttpContext.class});
-        infoFactory.addOperation("removeContext", new Class[]{HttpContext.class});
-        infoFactory.addOperation("addRealm", new Class[]{UserRealm.class});
-        infoFactory.addOperation("removeRealm", new Class[]{UserRealm.class});
-        infoFactory.addOperation("addWebService", new Class[]{String.class, WebServiceInvoker.class});
-        infoFactory.addOperation("removeWebService", new Class[]{String.class});
+        GBeanInfoBuilder infoBuilder = new GBeanInfoBuilder("Jetty Web Container", JettyContainerImpl.class);
+        infoBuilder.addAttribute("collectStatistics", Boolean.TYPE, true);
+        infoBuilder.addAttribute("collectStatisticsStarted", Long.TYPE, false);
+        infoBuilder.addAttribute("connections", Integer.TYPE, false);
+        infoBuilder.addAttribute("connectionsOpen", Integer.TYPE, false);
+        infoBuilder.addAttribute("connectionsOpenMax", Integer.TYPE, false);
+        infoBuilder.addAttribute("connectionsDurationAve", Long.TYPE, false);
+        infoBuilder.addAttribute("connectionsDurationMax", Long.TYPE, false);
+        infoBuilder.addAttribute("connectionsRequestsAve", Integer.TYPE, false);
+        infoBuilder.addAttribute("connectionsRequestsMax", Integer.TYPE, false);
+        infoBuilder.addAttribute("errors", Integer.TYPE, false);
+        infoBuilder.addAttribute("requests", Integer.TYPE, false);
+        infoBuilder.addAttribute("requestsActive", Integer.TYPE, false);
+        infoBuilder.addAttribute("requestsActiveMax", Integer.TYPE, false);
+        infoBuilder.addAttribute("requestsDurationAve", Long.TYPE, false);
+        infoBuilder.addAttribute("requestsDurationMax", Long.TYPE, false);
+        infoBuilder.addOperation("resetStatistics");
+
+        infoBuilder.addAttribute("requestLog", RequestLog.class, false);
+
+        infoBuilder.addOperation("addListener", new Class[]{HttpListener.class});
+        infoBuilder.addOperation("removeListener", new Class[]{HttpListener.class});
+        infoBuilder.addOperation("addContext", new Class[]{HttpContext.class});
+        infoBuilder.addOperation("removeContext", new Class[]{HttpContext.class});
+        infoBuilder.addOperation("addRealm", new Class[]{UserRealm.class});
+        infoBuilder.addOperation("removeRealm", new Class[]{UserRealm.class});
+
+        infoBuilder.addInterface(WebServiceContainer.class);
 
-        GBEAN_INFO = infoFactory.getBeanInfo();
+        GBEAN_INFO = infoBuilder.getBeanInfo();
     }
 
     public static GBeanInfo getGBeanInfo() {

Modified: geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebServiceHandler.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebServiceHandler.java?view=diff&r1=154909&r2=154910
==============================================================================
--- geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebServiceHandler.java (original)
+++ geronimo/trunk/modules/jetty/src/java/org/apache/geronimo/jetty/JettyWebServiceHandler.java Tue Feb 22 15:15:32 2005
@@ -60,7 +60,7 @@
         if (request.getParameter("wsdl") != null) {
             OutputStream out = response.getOutputStream();
             try {
-                webServiceInvoker.getWsdl(null, out);
+                webServiceInvoker.getWsdl(out);
             } catch (IOException e) {
                 throw e;
             } catch (Exception e) {
@@ -69,7 +69,7 @@
             //WHO IS RESPONSIBLE FOR CLOSING OUT?
         } else {
             try {
-                webServiceInvoker.invoke(request.getInputStream(), response.getOutputStream());
+                webServiceInvoker.invoke(request.getInputStream(), response.getOutputStream(), request.getURI().getPath());
                 request.setHandled(true);
             } catch (IOException e) {
                 throw e;

Modified: geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/app/MockWebServiceInvoker.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/app/MockWebServiceInvoker.java?view=diff&r1=154909&r2=154910
==============================================================================
--- geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/app/MockWebServiceInvoker.java (original)
+++ geronimo/trunk/modules/jetty/src/test/org/apache/geronimo/jetty/app/MockWebServiceInvoker.java Tue Feb 22 15:15:32 2005
@@ -29,11 +29,11 @@
  * @version $Rev:  $ $Date:  $
  */
 public class MockWebServiceInvoker implements WebServiceInvoker {
-    public void invoke(InputStream in, OutputStream out) throws Exception {
+    public void invoke(InputStream in, OutputStream out, String uri) throws Exception {
         out.write("Hello World".getBytes());
     }
 
-    public void getWsdl(URI wsdlURi, OutputStream out) throws Exception {
+    public void getWsdl(OutputStream out) throws Exception {
 
     }
 

Added: geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceContainer.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceContainer.java?view=auto&rev=154910
==============================================================================
--- geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceContainer.java (added)
+++ geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceContainer.java Tue Feb 22 15:15:32 2005
@@ -0,0 +1,28 @@
+/**
+ *
+ * Copyright 2003-2004 The Apache Software Foundation
+ *
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ *  limitations under the License.
+ */
+package org.apache.geronimo.webservices;
+
+/**
+ * @version $Rev:  $ $Date:  $
+ */
+public interface WebServiceContainer {
+
+    void addWebService(String contextPath, WebServiceInvoker webServiceInvoker) throws Exception;
+
+    void removeWebService(String contextPath);
+
+}

Modified: geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceInvoker.java
URL: http://svn.apache.org/viewcvs/geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceInvoker.java?view=diff&r1=154909&r2=154910
==============================================================================
--- geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceInvoker.java (original)
+++ geronimo/trunk/modules/webservices/src/java/org/apache/geronimo/webservices/WebServiceInvoker.java Tue Feb 22 15:15:32 2005
@@ -25,7 +25,8 @@
  */
 public interface WebServiceInvoker {
 
-    void invoke(InputStream in, OutputStream out) throws Exception;
+    void invoke(InputStream in, OutputStream out, String uri) throws Exception;
+
+    void getWsdl(OutputStream out) throws Exception;
 
-    void getWsdl(URI wsdlURi, OutputStream out) throws Exception;
 }