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 2013/10/11 07:26:48 UTC
svn commit: r1531198 -
/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
Author: rmannibucau
Date: Fri Oct 11 05:26:48 2013
New Revision: 1531198
URL: http://svn.apache.org/r1531198
Log:
TOMEE-1055 completing docBase find algorithm
Modified:
tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
Modified: tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java?rev=1531198&r1=1531197&r2=1531198&view=diff
==============================================================================
--- tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java (original)
+++ tomee/tomee/trunk/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/Contexts.java Fri Oct 11 05:26:48 2013
@@ -23,6 +23,7 @@ import org.apache.catalina.Host;
import org.apache.catalina.core.StandardContext;
import org.apache.catalina.core.StandardEngine;
import org.apache.catalina.core.StandardHost;
+import org.apache.catalina.util.ContextName;
import java.io.File;
@@ -42,7 +43,7 @@ public class Contexts {
public static File warPath(final Context standardContext) {
final File file = realWarPath(standardContext);
if (file == null) {
- return file;
+ return null;
}
final String name = file.getName();
@@ -69,20 +70,29 @@ public class Contexts {
container = container.getParent();
}
- File file = new File(standardContext.getDocBase());
- if (!file.isAbsolute()) {
- if (container == null) {
- docBase = new File(engineBase(standardContext), standardContext.getDocBase());
- } else {
- final String appBase = ((Host) container).getAppBase();
- file = new File(appBase);
- if (!file.isAbsolute()) {
- file = new File(engineBase(standardContext), appBase);
+ if (standardContext.getDocBase() != null) {
+ File file = new File(standardContext.getDocBase());
+ if (!file.isAbsolute()) {
+ if (container == null) {
+ docBase = new File(engineBase(standardContext), standardContext.getDocBase());
+ } else {
+ final String appBase = ((Host) container).getAppBase();
+ file = new File(appBase);
+ if (!file.isAbsolute()) {
+ file = new File(engineBase(standardContext), appBase);
+ }
+ docBase = new File(file, standardContext.getDocBase());
}
- docBase = new File(file, standardContext.getDocBase());
+ } else {
+ docBase = file;
}
} else {
- docBase = file;
+ final String path = standardContext.getPath();
+ if (path == null) {
+ throw new IllegalStateException("Can't find docBase");
+ } else {
+ docBase = new File(new ContextName(path, standardContext.getWebappVersion()).getBaseName());
+ }
}
if (!docBase.exists()) { // for old compatibility, will be removed soon