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