Author: rmannibucau
Date: Sun Sep 16 08:29:30 2012
New Revision: 1385227

URL: http://svn.apache.org/viewvc?rev=1385227&view=rev
Log:
getting rid of useless file for router feature

Removed:
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouteFilter.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterInitializer.java
Modified:
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterValve.java
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/SimpleRouter.java

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1385227&r1=1385226&r2=1385227&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Sun Sep 16 08:29:30 2012
@@ -25,8 +25,6 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
-import org.apache.tomee.catalina.routing.RouterInitializer;
-import org.apache.xbean.finder.util.Classes;
 import org.xml.sax.InputSource;
 
 import javax.servlet.ServletContainerInitializer;
@@ -87,9 +85,6 @@ public class OpenEJBContextConfig extend
 
     @Override
     protected void webConfig() {
-        // routing config
-        context.addServletContainerInitializer(new RouterInitializer(), null); 
// first one
-
         // read the real config
         super.webConfig();
 

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java?rev=1385227&r1=1385226&r2=1385227&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java
 Sun Sep 16 08:29:30 2012
@@ -89,8 +89,6 @@ import org.apache.tomcat.util.digester.D
 import org.apache.tomee.catalina.cluster.ClusterObserver;
 import org.apache.tomee.catalina.cluster.TomEEClusterListener;
 import org.apache.tomee.catalina.event.AfterApplicationCreated;
-import org.apache.tomee.catalina.routing.RouteFilter;
-import org.apache.tomee.catalina.routing.RouterInitializer;
 import org.apache.tomee.catalina.routing.RouterValve;
 import org.apache.tomee.common.LegacyAnnotationProcessor;
 import org.apache.tomee.common.TomcatVersion;
@@ -222,7 +220,7 @@ public class TomcatWebAppBuilder impleme
                 final Engine engine = (Engine) service.getContainer();
 
                 // add the global router if relevant
-                final URL globalRouterConf = 
RouterInitializer.serverRouterConfigurationURL();
+                final URL globalRouterConf = 
RouterValve.serverRouterConfigurationURL();
                 if (globalRouterConf != null) {
                     final RouterValve routerValve = new RouterValve();
                     routerValve.setConfigurationPath(globalRouterConf);
@@ -299,7 +297,6 @@ public class TomcatWebAppBuilder impleme
      */
     public void start() {
         globalListenerSupport.start();
-
     }
 
     /**
@@ -904,6 +901,15 @@ public class TomcatWebAppBuilder impleme
                 }
             }
         }
+
+        // router
+        final URL routerConfig = 
RouterValve.configurationURL(standardContext.getServletContext());
+        if (routerConfig != null) {
+            final RouterValve filter = new RouterValve();
+            filter.setPrefix(standardContext.getName());
+            filter.setConfigurationPath(routerConfig);
+            standardContext.getPipeline().addValve(filter);
+        }
     }
 
     private static void updateInjections(final Collection<Injection> 
injections, final ClassLoader classLoader, final boolean keepInjection) {

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterValve.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterValve.java?rev=1385227&r1=1385226&r2=1385227&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterValve.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/RouterValve.java
 Sun Sep 16 08:29:30 2012
@@ -20,12 +20,20 @@ import org.apache.catalina.LifecycleExce
 import org.apache.catalina.connector.Request;
 import org.apache.catalina.connector.Response;
 import org.apache.catalina.valves.ValveBase;
+import org.apache.openejb.config.DeploymentLoader;
+import org.apache.openejb.loader.SystemInstance;
 
+import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
+import java.io.File;
 import java.io.IOException;
+import java.net.MalformedURLException;
 import java.net.URL;
 
 public class RouterValve extends ValveBase {
+    public static final String ROUTER_CONF = "tomee-router.conf";
+    public static final String WEB_INF = "/WEB-INF/";
+
     private SimpleRouter router = new SimpleRouter();
 
     @Override
@@ -54,4 +62,46 @@ public class RouterValve extends ValveBa
         router.cleanUp();
         super.stopInternal();
     }
+
+    public static URL configurationURL(final ServletContext ctx) {
+        try {
+            return ctx.getResource(WEB_INF + routerConfigurationName());
+        } catch (MalformedURLException e) {
+            // let return null
+        }
+
+        return null;
+    }
+
+    public static String routerConfigurationName() {
+        final String conf = 
SystemInstance.get().getOptions().get(DeploymentLoader.OPENEJB_ALTDD_PREFIX, 
(String) null);
+        if (conf == null) {
+            return ROUTER_CONF;
+        } else {
+            return conf + "." + ROUTER_CONF;
+        }
+    }
+
+    public static URL serverRouterConfigurationURL() {
+        final File confDir = SystemInstance.get().getHome().getDirectory();
+        final File configFile = new File(confDir, "conf/" + 
routerConfigurationName());
+
+        if (configFile.exists()) {
+            try {
+                return configFile.toURI().toURL();
+            } catch (MalformedURLException e) {
+                // let return null
+            }
+        }
+
+        return null;
+    }
+
+    public void setPrefix(final String name) {
+        if (name == null || "/".equals(name)) {
+            router.setPrefix("");
+        } else {
+            router.setPrefix(name);
+        }
+    }
 }

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/SimpleRouter.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/SimpleRouter.java?rev=1385227&r1=1385226&r2=1385227&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/SimpleRouter.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/routing/SimpleRouter.java
 Sun Sep 16 08:29:30 2012
@@ -170,8 +170,8 @@ public class SimpleRouter {
 
         for (int i = 0; i < types.length; i++) {
             types[i] = SimpleType.STRING;
-            keys[i] = routes[i].getOrigin();
-            values[i] = routes[i].getRawDestination();
+            keys[i] = routes[i].getOrigin().substring(prefix.length());
+            values[i] = 
routes[i].getRawDestination().substring(prefix.length());
         }
 
         try {


Reply via email to