Author: markt
Date: Mon Nov 25 20:42:08 2013
New Revision: 1545398

URL: http://svn.apache.org/r1545398
Log:
Backport automatic deployment changes part 2
Initial test cases

Added:
    tomcat/tc7.0.x/trunk/test/deployment/context.xml
      - copied unchanged from r1545256, tomcat/trunk/test/deployment/context.xml
    
tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
      - copied, changed from r1481835, 
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
Modified:
    tomcat/tc7.0.x/trunk/   (props changed)

Propchange: tomcat/tc7.0.x/trunk/
------------------------------------------------------------------------------
  Merged /tomcat/trunk:r1481835

Copied: 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
 (from r1481835, 
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java)
URL: 
http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java?p2=tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java&p1=tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java&r1=1481835&r2=1545398&rev=1545398&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
 (original)
+++ 
tomcat/tc7.0.x/trunk/test/org/apache/catalina/startup/TestHostConfigAutomaticDeployment.java
 Mon Nov 25 20:42:08 2013
@@ -24,6 +24,9 @@ import org.junit.Assert;
 import org.junit.Test;
 
 import org.apache.catalina.Container;
+import org.apache.catalina.Engine;
+import org.apache.catalina.Globals;
+import org.apache.catalina.Host;
 import org.apache.catalina.LifecycleState;
 import org.apache.catalina.core.StandardHost;
 import org.apache.catalina.util.ContextName;
@@ -122,7 +125,7 @@ public class TestHostConfigAutomaticDepl
     }
 
     private void initTestDeploymentXml() throws IOException {
-        File dest = new File(getTomcatInstance().getHost().getConfigBaseFile(),
+        File dest = new File(getConfigBaseFile(getTomcatInstance().getHost()),
                 APP_NAME + ".xml");
         File parent = dest.getParentFile();
         if (!parent.isDirectory()) {
@@ -160,12 +163,12 @@ public class TestHostConfigAutomaticDepl
         }
 
         File xml = new File(
-                host.getConfigBaseFile(), APP_NAME.getBaseName() + ".xml");
+                getConfigBaseFile(host), APP_NAME.getBaseName() + ".xml");
         Assert.assertEquals(
                 Boolean.valueOf(resultXml), Boolean.valueOf(xml.isFile()));
 
         File war = new File(
-                host.getAppBaseFile(), APP_NAME.getBaseName() + ".war");
+                getAppBaseFile(host), APP_NAME.getBaseName() + ".war");
         Assert.assertEquals(
                 Boolean.valueOf(resultWar), Boolean.valueOf(war.isFile()));
 
@@ -174,4 +177,43 @@ public class TestHostConfigAutomaticDepl
                 Boolean.valueOf(resultDir), 
Boolean.valueOf(dir.isDirectory()));
 
     }
+    
+    
+    // Static methods to compensate for methods that are present in 8.0.x but
+    // not in 7.0.x
+    
+    private static File getConfigBaseFile(Host host) {
+        String path = null;
+        if (host.getXmlBase() != null) {
+            path = host.getXmlBase();
+        } else {
+            StringBuilder xmlDir = new StringBuilder("conf");
+            Container parent = host.getParent();
+            if (parent instanceof Engine) {
+                xmlDir.append('/');
+                xmlDir.append(parent.getName());
+            }
+            xmlDir.append('/');
+            xmlDir.append(host.getName());
+            path = xmlDir.toString();
+        }
+        
+        return getCanonicalPath(path);
+    }
+    
+    private static File getAppBaseFile(Host host) {
+        return getCanonicalPath(host.getAppBase());
+    }
+ 
+    private static File getCanonicalPath(String path) {
+        File file = new File(path);
+        File base = new File(System.getProperty(Globals.CATALINA_BASE_PROP));
+        if (!file.isAbsolute())
+            file = new File(base,path);
+        try {
+            return file.getCanonicalFile();
+        } catch (IOException e) {
+            return file;
+        }
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to