--- /dev/null
+package org.argeo.slc.ant.deploy;
+
+import java.lang.reflect.Method;
+
+import org.argeo.slc.ant.structure.SAwareTask;
+import org.argeo.slc.core.SlcException;
+import org.argeo.slc.core.deploy.DeployedSystem;
+import org.argeo.slc.core.deploy.DeployedSystemManager;
+
+public class SlcManagerTask extends SAwareTask {
+ private String action;
+ private String manager;
+
+ @Override
+ protected void executeActions(String mode) {
+ DeployedSystemManager<DeployedSystem> systemManager = getBean(manager);
+
+ try {
+ Method method = systemManager.getClass().getMethod(action, null);
+ method.invoke(systemManager, null);
+ } catch (Exception e) {
+ throw new SlcException("Cannot execute action " + action
+ + " for manager " + manager);
+ }
+ }
+
+ public void setAction(String action) {
+ this.action = action;
+ }
+
+ public void setManager(String manager) {
+ this.manager = manager;
+ }
+
+}
/** Actions to be executed by the implementor. */\r
protected abstract void executeActions(String mode);\r
\r
+ \r
+ public <T> T getBean(String beanName){\r
+ return (T)getContext().getBean(beanName);\r
+ }\r
+ \r
/** Create a reference to an external structure element. */\r
public StructureElementArg createStructureElement() {\r
if (structureElementArg != null)\r
# Tasks\r
slc.test=org.argeo.slc.ant.test.SlcTestTask\r
slc.deploy=org.argeo.slc.ant.deploy.SlcDeployTask\r
+slc.manager=org.argeo.slc.ant.deploy.SlcManagerTask\r
slc.closeResult=org.argeo.slc.ant.test.SlcCloseTestResultTask\r
slc.report=org.argeo.slc.ant.test.SlcReportTask\r