You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tuscany.apache.org by jb...@apache.org on 2006/05/07 18:09:58 UTC

svn commit: r404788 - in /incubator/tuscany/java/sca: core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java

Author: jboynes
Date: Sun May  7 09:09:55 2006
New Revision: 404788

URL: http://svn.apache.org/viewcvs?rev=404788&view=rev
Log:
temporarily allow the runtime to get the servlet for a mapping

Modified:
    incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java
    incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
    incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java

Modified: incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java?rev=404788&r1=404787&r2=404788&view=diff
==============================================================================
--- incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java (original)
+++ incubator/tuscany/java/sca/core/src/main/java/org/apache/tuscany/core/webapp/ServletHost.java Sun May  7 09:09:55 2006
@@ -48,10 +48,11 @@
     void unregisterMapping(String mapping);
 
     /**
-     * Get the servlet instance registered for the mapping
+     * Get the servlet instance registered for the mapping.
      * 
      * @param mapping the uri-mapping for the Servlet
      * @return the Servelt for the mapping or null if there is no Servlet registered for the mapping
      */
+    @Deprecated
     Servlet getMapping(String mapping);
 }

Modified: incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java?rev=404788&r1=404787&r2=404788&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java (original)
+++ incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyHost.java Sun May  7 09:09:55 2006
@@ -25,6 +25,9 @@
 import org.apache.catalina.core.StandardContext;
 import org.apache.catalina.core.StandardHost;
 import org.apache.catalina.util.StringManager;
+import org.apache.tomcat.util.buf.MessageBytes;
+import org.apache.tomcat.util.http.mapper.MappingData;
+
 import org.apache.tuscany.common.monitor.impl.NullMonitorFactory;
 import org.apache.tuscany.core.builder.ContextFactoryBuilderRegistry;
 import org.apache.tuscany.core.builder.impl.DefaultWireBuilder;
@@ -156,6 +159,25 @@
     }
 
     public Servlet getMapping(String mapping) {
-        return null;
+        Context ctx = map(mapping);
+        if (ctx == null) {
+            return null;
+        }
+        String contextPath = ctx.getPath();
+        assert mapping.startsWith(contextPath);
+
+        MappingData mappingData = new MappingData();
+        MessageBytes mb = MessageBytes.newInstance();
+        mb.setString(mapping);
+        try {
+            ctx.getMapper().map(mb, mappingData);
+        } catch (Exception e) {
+            return null;
+        }
+        if (!(mappingData.wrapper instanceof TuscanyWrapper)) {
+            return null;
+        }
+        TuscanyWrapper wrapper = (TuscanyWrapper) mappingData.wrapper;
+        return wrapper.getServlet();
     }
 }

Modified: incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java
URL: http://svn.apache.org/viewcvs/incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java?rev=404788&r1=404787&r2=404788&view=diff
==============================================================================
--- incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java (original)
+++ incubator/tuscany/java/sca/tomcat/src/main/java/org/apache/tuscany/tomcat/TuscanyWrapper.java Sun May  7 09:09:55 2006
@@ -17,7 +17,6 @@
 package org.apache.tuscany.tomcat;
 
 import javax.servlet.Servlet;
-import javax.servlet.ServletException;
 
 import org.apache.catalina.core.StandardWrapper;
 
@@ -34,7 +33,11 @@
         this.servlet = servlet;
     }
 
-    public synchronized Servlet loadServlet() throws ServletException {
+    public synchronized Servlet loadServlet() {
+        return servlet;
+    }
+
+    public Servlet getServlet() {
         return servlet;
     }
 }