]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/java/org/argeo/slc/ant/deploy/SlcDeployTask.java
9dba5dcf6838ee380467b4ac78f15f1ed50fa62b
[gpl/argeo-slc.git] / org.argeo.slc / src / main / java / org / argeo / slc / ant / deploy / SlcDeployTask.java
1 package org.argeo.slc.ant.deploy;
2
3 import org.apache.commons.logging.Log;
4 import org.apache.commons.logging.LogFactory;
5 import org.apache.tools.ant.BuildException;
6
7 import org.argeo.slc.ant.SlcAntConfig;
8 import org.argeo.slc.ant.spring.AbstractSpringArg;
9 import org.argeo.slc.ant.structure.SAwareTask;
10 import org.argeo.slc.core.deploy.DeploymentData;
11 import org.argeo.slc.core.deploy.TargetData;
12 import org.argeo.slc.core.deploy.WritableDeployment;
13
14 /** Ant task wrapping a deployment. */
15 public class SlcDeployTask extends SAwareTask {
16 private Log log = LogFactory.getLog(SlcDeployTask.class);
17
18 private String deploymentBean = null;
19
20 private DeploymentDataArg deploymentDataArg;
21 private TargetDataArg targetDataArg;
22
23 @Override
24 public void executeActions(String mode) throws BuildException {
25 WritableDeployment deployment = (WritableDeployment) getContext()
26 .getBean(deploymentBean);
27
28 // set overridden references
29 if (deploymentDataArg != null) {
30 deployment.setDeploymentData(deploymentDataArg.getDeploymentData());
31 log.trace("Overrides deployment data");
32 }
33
34 if (targetDataArg != null) {
35 deployment.setTargetData(targetDataArg.getTargetData());
36 log.trace("Overrides target data");
37 }
38
39 deployment.execute();
40 }
41
42 /**
43 * The bean name of the test run to use. If not set the default is used.
44 *
45 * @see SlcAntConfig
46 */
47 public void setDeployment(String deploymentBean) {
48 this.deploymentBean = deploymentBean;
49 }
50
51 public DeploymentDataArg createDeploymentData() {
52 deploymentDataArg = new DeploymentDataArg();
53 return deploymentDataArg;
54 }
55
56 public TargetDataArg createTargetData() {
57 targetDataArg = new TargetDataArg();
58 return targetDataArg;
59 }
60 }
61
62 class DeploymentDataArg extends AbstractSpringArg {
63 public DeploymentData getDeploymentData() {
64 return (DeploymentData) getBeanInstance();
65 }
66
67 }
68
69 class TargetDataArg extends AbstractSpringArg {
70 public TargetData getTargetData() {
71 return (TargetData) getBeanInstance();
72 }
73
74 }