X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fsupport%2Fdeploy%2FHttpdApplicationDeployment.java;fp=runtime%2Forg.argeo.slc.support.simple%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fsupport%2Fdeploy%2FHttpdApplicationDeployment.java;h=6c6cffdce05a04e3256baff08735bbd59840c228;hb=19a9d8d57baf647f8a1a9aac3d9cb55c86dccbcc;hp=0000000000000000000000000000000000000000;hpb=f588ffe2300637955c23f4113475da5a32411f98;p=gpl%2Fargeo-slc.git diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java new file mode 100644 index 000000000..6c6cffdce --- /dev/null +++ b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/support/deploy/HttpdApplicationDeployment.java @@ -0,0 +1,68 @@ +package org.argeo.slc.support.deploy; + +import java.io.File; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.argeo.slc.core.SlcException; +import org.argeo.slc.core.build.Distribution; +import org.argeo.slc.core.deploy.DeployEnvironment; +import org.argeo.slc.core.deploy.DeployedSystem; +import org.argeo.slc.core.deploy.Deployment; +import org.argeo.slc.core.deploy.DeploymentData; +import org.argeo.slc.core.deploy.TargetData; + +public class HttpdApplicationDeployment implements Deployment { + private static final Log log = LogFactory + .getLog(HttpdApplicationDeployment.class); + + private HttpdApplicationTargetData targetData; + private DeploymentData deploymentData; + private SimpleHttpdApplication deployedSystem; + private Distribution distribution; + + private DeployEnvironment deployEnvironment; + + public void execute() { + try { + deployEnvironment.unpackTo(distribution, targetData + .getTargetRootLocation(), null); + + // FIXME: make it generic + String deployDataPath = targetData.getTargetRootLocation() + .getCanonicalPath(); + + deployEnvironment.unpackTo(deploymentData, + new File(deployDataPath), null); + deployedSystem = new SimpleHttpdApplication(); + deployedSystem.setTargetData(targetData); + + log.info("Deployed " + distribution + " to " + targetData); + } catch (Exception e) { + throw new SlcException("Cannot deploy " + distribution + " to " + + targetData, e); + } + + } + + public void setTargetData(TargetData targetData) { + this.targetData = (HttpdApplicationTargetData) targetData; + } + + public void setDeploymentData(DeploymentData deploymentData) { + this.deploymentData = deploymentData; + } + + public DeployedSystem getDeployedSystem() { + return deployedSystem; + } + + public void setDistribution(Distribution distribution) { + this.distribution = distribution; + } + + public void setDeployEnvironment(DeployEnvironment deployEnvironment) { + this.deployEnvironment = deployEnvironment; + } + +}