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 {