You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/10/27 21:57:26 UTC

svn commit: r1402860 - /openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

Author: rmannibucau
Date: Sat Oct 27 19:57:25 2012
New Revision: 1402860

URL: http://svn.apache.org/viewvc?rev=1402860&view=rev
Log:
TOMEE-507 ROOT was not really managed for ear + tomcatwardeployer

Modified:
    openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatWebAppBuilder.java

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=1402860&r1=1402859&r2=1402860&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 Sat Oct 27 19:57:25 2012
@@ -450,6 +450,10 @@ public class TomcatWebAppBuilder impleme
                     }
                     standardContext.setDocBase(standardContext.getDocBase().substring(0, standardContext.getDocBase().length() - 4));
                 }
+                if (isRoot(standardContext.getName())) {
+                    standardContext.setName("");
+                    webApp.contextRoot = "";
+                }
 
                 if (getContextInfo(webApp.host, webApp.contextRoot) != null) { // possible because of the previous renaming
                     continue;
@@ -491,6 +495,10 @@ public class TomcatWebAppBuilder impleme
         }
     }
 
+    private static boolean isRoot(final String name) {
+        return "/ROOT".equals(name) || "ROOT".equals(name);
+    }
+
     public void deployWar(final StandardContext standardContext, final String host, final AppInfo info) {
         // TODO: instead of storing deployers, we could just lookup the right hostconfig for the server.
         final HostConfig deployer = deployers.get(host);
@@ -657,7 +665,7 @@ public class TomcatWebAppBuilder impleme
     @Override
     public void init(final StandardContext standardContext) {
         // just adding a carriage return to get logs more readable
-        logger.info("-------------------------\nTomcatWebAppBuilder.init " + standardContext.getPath());
+        logger.info("-------------------------\nTomcatWebAppBuilder.init " + finalName(standardContext.getPath()));
 
         File warFile = warPath(standardContext);
         if (!warFile.isDirectory()) {
@@ -725,6 +733,13 @@ public class TomcatWebAppBuilder impleme
         standardContext.addContainerListener(new TomEEContainerListener());
     }
 
+    private static String finalName(final String path) {
+        if (isRoot(path)) {
+            return "";
+        }
+        return path;
+    }
+
     private static File warPath(final StandardContext standardContext) {
         final String doc = standardContext.getDocBase();
         File war = new File(doc);
@@ -1477,7 +1492,7 @@ public class TomcatWebAppBuilder impleme
                 for (File file : files) {
                     final String name = file.getName();
                     // ignore war files
-                    if (name.toLowerCase().endsWith(".war") || name.equals("ROOT") || name.equalsIgnoreCase("META-INF") || name.equalsIgnoreCase("WEB-INF")) {
+                    if (name.toLowerCase().endsWith(".war") || isRoot(name) || name.equalsIgnoreCase("META-INF") || name.equalsIgnoreCase("WEB-INF")) {
                         continue;
                     }
                     // Simple fix for TOMEE-23
@@ -1564,7 +1579,7 @@ public class TomcatWebAppBuilder impleme
         String name = "/" + file.getName();
 
         // ROOT context is a special case
-        if (name.equals("/ROOT")) {
+        if (isRoot(name)) {
             name = "";
         }
 
@@ -1746,7 +1761,7 @@ public class TomcatWebAppBuilder impleme
 
     private String getId(final String host, final String context) {
         String contextRoot = context;
-        if ("ROOT".equals(contextRoot)) {
+        if (isRoot(contextRoot)) {
             contextRoot = "";
         }
         if (!contextRoot.startsWith("/")) {