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("/")) {