Fix issues in deployment related to the move to Java 5
authorMathieu Baudier <mbaudier@argeo.org>
Sat, 30 Aug 2008 18:46:43 +0000 (18:46 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Sat, 30 Aug 2008 18:46:43 +0000 (18:46 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1574 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java
org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServer.java
org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServerManager.java

index 08c37916a1144d884c013b7d3b3e66750e969d6c..c162340ca0cc5311022782a9a1631c0b238295fa 100644 (file)
@@ -10,6 +10,7 @@ import org.argeo.slc.core.deploy.TargetData;
 public class HttpdApplicationTargetData implements TargetData {\r
        private HttpdServer webServer;\r
        private String relativePath;\r
+       private String targetRootPath;\r
 \r
        public HttpdServer getWebServer() {\r
                return webServer;\r
@@ -23,10 +24,22 @@ public class HttpdApplicationTargetData implements TargetData {
                return relativePath;\r
        }\r
 \r
+       /**\r
+        * If targetRootLocation not set, used to build the targetRootLocation,\r
+        * relative to the webserver base.\r
+        */\r
        public void setRelativePath(String relativePath) {\r
                this.relativePath = relativePath;\r
        }\r
 \r
+       public String getTargetRootPath() {\r
+               return targetRootPath;\r
+       }\r
+\r
+       public void setTargetRootPath(String targetRootPath) {\r
+               this.targetRootPath = targetRootPath;\r
+       }\r
+\r
        public URL getTargetBaseUrl() {\r
                try {\r
                        URL wsUrl = getWebServer().getBaseUrl();\r
@@ -38,11 +51,15 @@ public class HttpdApplicationTargetData implements TargetData {
        }\r
 \r
        public File getTargetRootLocation() {\r
-               HttpdServerTargetData targetData = (HttpdServerTargetData) getWebServer()\r
-                               .getTargetData();\r
-               String path = targetData.getServerRoot() + File.separator\r
-                               + getRelativePath();\r
-               return new File(path);\r
+               if (targetRootPath != null && !targetRootPath.equals("")) {\r
+                       return new File(targetRootPath);\r
+               } else {\r
+                       HttpdServerTargetData targetData = (HttpdServerTargetData) getWebServer()\r
+                                       .getTargetData();\r
+                       String path = targetData.getServerRoot() + File.separator\r
+                                       + getRelativePath();\r
+                       return new File(path);\r
+               }\r
        }\r
 \r
 }\r
index eccacdbbb72c1fd487eeab6416d4f637cd3c4cee..586f263ae17b930c144a2c868cc4d5baf83a3584 100644 (file)
@@ -5,6 +5,8 @@ import java.net.URL;
 \r
 import org.argeo.slc.core.SlcException;\r
 import org.argeo.slc.core.build.Distribution;\r
+import org.argeo.slc.core.deploy.DeploymentData;\r
+import org.argeo.slc.core.deploy.TargetData;\r
 \r
 public class HttpdServer implements WebServer {\r
        private HttpdServerTargetData targetData;\r
@@ -29,20 +31,20 @@ public class HttpdServer implements WebServer {
                return null;\r
        }\r
 \r
-       public HttpdServerDeploymentData getDeploymentData() {\r
+       public DeploymentData getDeploymentData() {\r
                return deploymentData;\r
        }\r
 \r
-       public HttpdServerTargetData getTargetData() {\r
+       public TargetData getTargetData() {\r
                return targetData;\r
        }\r
 \r
-       public void setTargetData(HttpdServerTargetData targetData) {\r
-               this.targetData = targetData;\r
+       public void setTargetData(TargetData targetData) {\r
+               this.targetData = (HttpdServerTargetData)targetData;\r
        }\r
 \r
-       public void setDeploymentData(HttpdServerDeploymentData deploymentData) {\r
-               this.deploymentData = deploymentData;\r
+       public void setDeploymentData(DeploymentData deploymentData) {\r
+               this.deploymentData = (HttpdServerDeploymentData)deploymentData;\r
        }\r
 \r
 }\r
index 570a7b5a7107568ec9cc910e70998cbc6777a673..8d455965dbf7c505d50f12bcb6833e4158559527 100644 (file)
@@ -19,21 +19,21 @@ public class HttpdServerManager implements DeployedSystemManager<HttpdServer> {
        public void start() {
                runProcessAsync(createCommandLine("start"));
                log.info("Started httpd server with root "
-                               + httpdServer.getTargetData().getServerRoot());
+                               + getHttpdServerTargetData().getServerRoot());
        }
 
        public void stop() {
                runProcessAsync(createCommandLine("stop"));
                log.info("Stopped httpd server with root "
-                               + httpdServer.getTargetData().getServerRoot());
+                               + getHttpdServerTargetData().getServerRoot());
        }
 
        protected String[] createCommandLine(String action) {
-               String httpdPath = httpdServer.getTargetData().getExecutables()
+               String httpdPath = getHttpdServerTargetData().getExecutables()
                                .getExecutablePath("httpd");
                String[] cmd = { httpdPath, "-d",
-                               httpdServer.getTargetData().getServerRoot(), "-f",
-                               httpdServer.getDeploymentData().getConfigFile(), "-k", action };
+                               getHttpdServerTargetData().getServerRoot(), "-f",
+                               getHttpdServerDeploymentData().getConfigFile(), "-k", action };
                if (log.isDebugEnabled())
                        log.debug("Command line: " + Arrays.asList(cmd));
                return cmd;
@@ -71,4 +71,11 @@ public class HttpdServerManager implements DeployedSystemManager<HttpdServer> {
                this.httpdServer = httpdServer;
        }
 
+       protected HttpdServerDeploymentData getHttpdServerDeploymentData() {
+               return (HttpdServerDeploymentData) httpdServer.getDeploymentData();
+       }
+
+       protected HttpdServerTargetData getHttpdServerTargetData() {
+               return (HttpdServerTargetData) httpdServer.getTargetData();
+       }
 }