From 2efdc5cd321817f8d28642c23d76baa7a2a7e5c0 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 2 Oct 2008 12:43:15 +0000 Subject: [PATCH] Introduce doItAgain skip until error git-svn-id: https://svn.argeo.org/slc/trunk@1680 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../slc/ant/detached/SlcDetachedTask.java | 46 +++++++++++++++++++ .../lib/detached/DetachedTestDefinition.java | 10 ++-- .../org/argeo/slc/ant/taskdefs.properties | 1 + 3 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/detached/SlcDetachedTask.java 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 index 000000000..8f18c8251 --- /dev/null +++ b/org.argeo.slc.agent/src/main/java/org/argeo/slc/ant/detached/SlcDetachedTask.java @@ -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; + } + +} diff --git a/org.argeo.slc.agent/src/main/java/org/argeo/slc/lib/detached/DetachedTestDefinition.java b/org.argeo.slc.agent/src/main/java/org/argeo/slc/lib/detached/DetachedTestDefinition.java index 4689c235a..03b46b2d2 100644 --- a/org.argeo.slc.agent/src/main/java/org/argeo/slc/lib/detached/DetachedTestDefinition.java +++ b/org.argeo.slc.agent/src/main/java/org/argeo/slc/lib/detached/DetachedTestDefinition.java @@ -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(); } diff --git a/org.argeo.slc.agent/src/main/resources/org/argeo/slc/ant/taskdefs.properties b/org.argeo.slc.agent/src/main/resources/org/argeo/slc/ant/taskdefs.properties index 190a72fc0..ac489bf81 100644 --- a/org.argeo.slc.agent/src/main/resources/org/argeo/slc/ant/taskdefs.properties +++ b/org.argeo.slc.agent/src/main/resources/org/argeo/slc/ant/taskdefs.properties @@ -5,3 +5,4 @@ slc.manager=org.argeo.slc.ant.deploy.SlcManagerTask slc.closeResult=org.argeo.slc.ant.test.SlcCloseTestResultTask slc.report=org.argeo.slc.ant.test.SlcReportTask slc.register=org.argeo.slc.ant.spring.SpringRegister +slc.detached=org.argeo.slc.ant.detached.SlcDetachedTask -- 2.39.2