X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=cms%2Forg.argeo.slc.support%2Fsrc%2Forg%2Fargeo%2Fslc%2Fsupport%2Fdeploy%2FHttpdApplicationTargetData.java;fp=cms%2Forg.argeo.slc.support%2Fsrc%2Forg%2Fargeo%2Fslc%2Fsupport%2Fdeploy%2FHttpdApplicationTargetData.java;h=7b052ec6281b597e9c7716aca691b081e35c0d0e;hb=ecc22e604e47533c79de9cecdcdeacbc752cbff1;hp=0000000000000000000000000000000000000000;hpb=e07ded4632e53f8b8869763bc1f1f4091361e76e;p=gpl%2Fargeo-slc.git diff --git a/cms/org.argeo.slc.support/src/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java b/cms/org.argeo.slc.support/src/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java new file mode 100644 index 000000000..7b052ec62 --- /dev/null +++ b/cms/org.argeo.slc.support/src/org/argeo/slc/support/deploy/HttpdApplicationTargetData.java @@ -0,0 +1,65 @@ +package org.argeo.slc.support.deploy; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; + +import org.argeo.slc.SlcException; +import org.argeo.slc.deploy.TargetData; + +public class HttpdApplicationTargetData implements TargetData { + private HttpdServer webServer; + private String relativePath; + private String targetRootPath; + + public HttpdServer getWebServer() { + return webServer; + } + + public void setWebServer(HttpdServer webServer) { + this.webServer = webServer; + } + + public String getRelativePath() { + 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(); + // TODO: use URI + return new URL(wsUrl, wsUrl.getFile() + '/' + relativePath); + } catch (MalformedURLException e) { + throw new SlcException("Cannot get base url for " + relativePath, e); + } + } + + public File getTargetRootLocation() { + 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); + } + } + +}