]> git.argeo.org Git - gpl/argeo-slc.git/commitdiff
Introduce doItAgain skip until error
authorMathieu Baudier <mbaudier@argeo.org>
Thu, 2 Oct 2008 12:43:15 +0000 (12:43 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Thu, 2 Oct 2008 12:43:15 +0000 (12:43 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1680 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/detached/SlcDetachedTask.java [new file with mode: 0644]
org.argeo.slc.agent/src/main/java/org/argeo/slc/lib/detached/DetachedTestDefinition.java
org.argeo.slc.agent/src/main/resources/org/argeo/slc/ant/taskdefs.properties

diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/detached/SlcDetachedTask.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/detached/SlcDetachedTask.java
new file mode 100644 (file)
index 0000000..8f18c82
--- /dev/null
@@ -0,0 +1,46 @@
+package org.argeo.slc.ant.detached;
+
+import java.util.UUID;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.ant.structure.SAwareTask;
+import org.argeo.slc.core.SlcException;
+import org.argeo.slc.detached.DetachedAnswer;
+import org.argeo.slc.detached.DetachedClient;
+import org.argeo.slc.detached.DetachedRequest;
+
+public class SlcDetachedTask extends SAwareTask {
+       private final static Log log = LogFactory.getLog(SlcDetachedTask.class);
+
+       private String client;
+       private String action;
+
+       @Override
+       protected void executeActions(String mode) {
+               DetachedClient detachedClient = getBean(client);
+               DetachedRequest request = new DetachedRequest(UUID.randomUUID()
+                               .toString());
+               request.setRef(action);
+               try {
+                       detachedClient.sendRequest(request);
+                       DetachedAnswer answer = detachedClient.receiveAnswer();
+                       if (answer.getStatus() == DetachedAnswer.ERROR)
+                               throw new SlcException("Error when executing request "
+                                               + answer.getUuid() + ": " + answer.getLog());
+                       else
+                               log.info("Admin answer: " + answer.getLog());
+               } catch (Exception e) {
+                       throw new SlcException("Could not send request.", e);
+               }
+       }
+
+       public void setClient(String driverBean) {
+               this.client = driverBean;
+       }
+
+       public void setAction(String action) {
+               this.action = action;
+       }
+
+}
index 4689c235a92873b193c7ab844dd28840000ea2cd..03b46b2d207354816dc87c15a20dffc67bef0fc8 100644 (file)
@@ -53,8 +53,6 @@ public class DetachedTestDefinition extends TreeSRelatedHelper implements
 
                try {
                        client.sendRequest(request);
-                       log.debug("Sent detached request #" + request.getUuid()
-                                       + " for step " + stepBeanName);
                } catch (Exception e) {
                        throw new SlcException("Could not send request for step "
                                        + stepBeanName, e);
@@ -62,12 +60,15 @@ public class DetachedTestDefinition extends TreeSRelatedHelper implements
 
                try {
                        DetachedAnswer answer = client.receiveAnswer();
+                       if (answer.getStatus() == DetachedAnswer.ERROR)
+                               throw new SlcException("Error when executing step "
+                                               + answer.getUuid() + ": " + answer.getLog());
+                       else
+                               log.info("Step answer: " + answer.getLog());
                        Properties outputParameters = answer.getProperties();
                        for (Object key : outputParameters.keySet())
                                testData.getValues().put(key.toString(),
                                                outputParameters.get(key));
-                       log.debug("Received detached answer #" + answer.getUuid()
-                                       + " for step " + stepBeanName);
                } catch (Exception e) {
                        throw new SlcException("Could not receive answer #"
                                        + request.getUuid() + " for step " + stepBeanName, e);
@@ -97,7 +98,6 @@ public class DetachedTestDefinition extends TreeSRelatedHelper implements
                        PropertyValue propValue = thisBeanDef.getPropertyValues()
                                        .getPropertyValue("step");
                        Object stepBeanRef = propValue.getValue();
-                       log.info("stepBeanRef.class=" + stepBeanRef.getClass());
                        BeanReference ref = (BeanReference) stepBeanRef;
                        stepBeanName = ref.getBeanName();
                }
index 190a72fc0061fc6e4e8ff4195d62b539afd6e745..ac489bf814c203138c48cc5ceb495de59817c000 100644 (file)
@@ -5,3 +5,4 @@ slc.manager=org.argeo.slc.ant.deploy.SlcManagerTask
 slc.closeResult=org.argeo.slc.ant.test.SlcCloseTestResultTask\r
 slc.report=org.argeo.slc.ant.test.SlcReportTask\r
 slc.register=org.argeo.slc.ant.spring.SpringRegister\r
+slc.detached=org.argeo.slc.ant.detached.SlcDetachedTask\r