From: Mathieu Baudier Date: Sat, 30 Aug 2008 18:46:43 +0000 (+0000) Subject: Fix issues in deployment related to the move to Java 5 X-Git-Tag: argeo-slc-2.1.7~2599 X-Git-Url: http://git.argeo.org/?a=commitdiff_plain;h=3ea7e54c311988feb936b0fe5b6f669db2e69329;p=gpl%2Fargeo-slc.git Fix issues in deployment related to the move to Java 5 git-svn-id: https://svn.argeo.org/slc/trunk@1574 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java index 08c37916a..c162340ca 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java @@ -10,6 +10,7 @@ import org.argeo.slc.core.deploy.TargetData; public class HttpdApplicationTargetData implements TargetData { private HttpdServer webServer; private String relativePath; + private String targetRootPath; public HttpdServer getWebServer() { return webServer; @@ -23,10 +24,22 @@ public class HttpdApplicationTargetData implements TargetData { return relativePath; } + /** + * If targetRootLocation not set, used to build the targetRootLocation, + * relative to the webserver base. + */ public void setRelativePath(String relativePath) { this.relativePath = relativePath; } + public String getTargetRootPath() { + return targetRootPath; + } + + public void setTargetRootPath(String targetRootPath) { + this.targetRootPath = targetRootPath; + } + public URL getTargetBaseUrl() { try { URL wsUrl = getWebServer().getBaseUrl(); @@ -38,11 +51,15 @@ public class HttpdApplicationTargetData implements TargetData { } public File getTargetRootLocation() { - HttpdServerTargetData targetData = (HttpdServerTargetData) getWebServer() - .getTargetData(); - String path = targetData.getServerRoot() + File.separator - + getRelativePath(); - return new File(path); + if (targetRootPath != null && !targetRootPath.equals("")) { + return new File(targetRootPath); + } else { + HttpdServerTargetData targetData = (HttpdServerTargetData) getWebServer() + .getTargetData(); + String path = targetData.getServerRoot() + File.separator + + getRelativePath(); + return new File(path); + } } } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServer.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServer.java index eccacdbbb..586f263ae 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServer.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServer.java @@ -5,6 +5,8 @@ import java.net.URL; import org.argeo.slc.core.SlcException; import org.argeo.slc.core.build.Distribution; +import org.argeo.slc.core.deploy.DeploymentData; +import org.argeo.slc.core.deploy.TargetData; public class HttpdServer implements WebServer { private HttpdServerTargetData targetData; @@ -29,20 +31,20 @@ public class HttpdServer implements WebServer { return null; } - public HttpdServerDeploymentData getDeploymentData() { + public DeploymentData getDeploymentData() { return deploymentData; } - public HttpdServerTargetData getTargetData() { + public TargetData getTargetData() { return targetData; } - public void setTargetData(HttpdServerTargetData targetData) { - this.targetData = targetData; + public void setTargetData(TargetData targetData) { + this.targetData = (HttpdServerTargetData)targetData; } - public void setDeploymentData(HttpdServerDeploymentData deploymentData) { - this.deploymentData = deploymentData; + public void setDeploymentData(DeploymentData deploymentData) { + this.deploymentData = (HttpdServerDeploymentData)deploymentData; } } diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServerManager.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServerManager.java index 570a7b5a7..8d455965d 100644 --- a/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServerManager.java +++ b/org.argeo.slc.core/src/main/java/org/argeo/slc/support/deploy/HttpdServerManager.java @@ -19,21 +19,21 @@ public class HttpdServerManager implements DeployedSystemManager { 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 { this.httpdServer = httpdServer; } + protected HttpdServerDeploymentData getHttpdServerDeploymentData() { + return (HttpdServerDeploymentData) httpdServer.getDeploymentData(); + } + + protected HttpdServerTargetData getHttpdServerTargetData() { + return (HttpdServerTargetData) httpdServer.getTargetData(); + } }