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;
}
}