package org.argeo.slc.core.process;\r
\r
-import java.io.IOException;\r
-import java.util.Iterator;\r
import java.util.List;\r
\r
-import javax.xml.transform.Source;\r
-import javax.xml.transform.dom.DOMSource;\r
-\r
-import org.springframework.oxm.XmlMappingException;\r
import org.springframework.ws.client.core.WebServiceTemplate;\r
-import org.springframework.ws.soap.SoapFaultDetail;\r
-import org.springframework.ws.soap.SoapFaultDetailElement;\r
import org.springframework.ws.soap.client.SoapFaultClientException;\r
-import org.springframework.xml.transform.StringResult;\r
-import org.w3c.dom.Node;\r
-\r
-import com.ibm.wsdl.util.IOUtils;\r
\r
import org.apache.commons.logging.Log;\r
import org.apache.commons.logging.LogFactory;\r
\r
import org.argeo.slc.msg.process.SlcExecutionRequest;\r
import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
+import org.argeo.slc.ws.client.WebServiceUtils;\r
\r
public class WebServiceSlcExecutionNotifier implements SlcExecutionNotifier {\r
private WebServiceTemplate template;\r
}\r
\r
try {\r
- marshalSendAndReceive(req);\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
if (log.isDebugEnabled())\r
log.debug("Added steps to slc execution "\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
- manageSoapException(e);\r
+ WebServiceUtils.manageSoapException(e);\r
}\r
}\r
\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
try {\r
- marshalSendAndReceive(req);\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
if (log.isDebugEnabled())\r
log.debug("Notified creation of slc execution "\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
- manageSoapException(e);\r
+ WebServiceUtils.manageSoapException(e);\r
}\r
}\r
\r
SlcExecutionRequest req = new SlcExecutionRequest();\r
req.setSlcExecution(slcExecution);\r
try {\r
- marshalSendAndReceive(req);\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
if (log.isDebugEnabled())\r
log.debug("Notified update of slc execution "\r
+ slcExecution.getUuid());\r
} catch (SoapFaultClientException e) {\r
- manageSoapException(e);\r
+ WebServiceUtils.manageSoapException(e);\r
}\r
}\r
\r
this.template = template;\r
}\r
\r
- protected void manageSoapException(SoapFaultClientException e) {\r
- log\r
- .error("WS root cause: "\r
- + e.getSoapFault().getFaultStringOrReason());\r
- StringBuffer stack = new StringBuffer("");\r
- SoapFaultDetail detail = e.getSoapFault().getFaultDetail();\r
- if (detail != null) {\r
- Iterator<SoapFaultDetailElement> it = (Iterator<SoapFaultDetailElement>) detail\r
- .getDetailEntries();\r
- while (it.hasNext()) {\r
- SoapFaultDetailElement elem = it.next();\r
- if (elem.getName().getLocalPart().equals("StackElement")) {\r
- Source source = elem.getSource();\r
- if (source instanceof DOMSource) {\r
- Node node = ((DOMSource) source).getNode();\r
- stack.append(node.getTextContent()).append('\n');\r
- }\r
- }\r
- }\r
-\r
- if (stack.length() > 0 && log.isTraceEnabled())\r
- log.error("WS root cause stack: " + stack);\r
- }\r
- }\r
-\r
- protected Object marshalSendAndReceive(Object req) {\r
- if (log.isTraceEnabled()) {\r
- try {\r
- StringResult result = new StringResult();\r
- template.getMarshaller().marshal(req, result);\r
- log.trace("About to send " + result);\r
- } catch (Exception e) {\r
- log.error("Cannot marshall " + req + " for logging", e);\r
- }\r
- }\r
- Object resp = template.marshalSendAndReceive(req);\r
- return resp;\r
- }\r
}\r
/** Gets the name part of the path. */\r
public String getName() {\r
int lastSep = getAsUniqueString().lastIndexOf(separator);\r
- return getAsUniqueString().substring(lastSep);\r
+ return getAsUniqueString().substring(lastSep+1);\r
}\r
\r
/** Create a path without parent. */\r
package org.argeo.slc.core.test;\r
\r
+import java.util.UUID;\r
+\r
import org.argeo.slc.core.deploy.DeployedSystem;\r
import org.argeo.slc.core.process.SlcExecution;\r
import org.argeo.slc.core.process.SlcExecutionStep;\r
\r
/** Executes the underlying test definition. */\r
public void execute() {\r
+ uuid = UUID.randomUUID().toString();\r
if (testResult != null)\r
testResult.notifyTestRun(this);\r
testDefinition.execute(this);\r
package org.argeo.slc.core.test;\r
\r
import org.argeo.slc.core.deploy.DeployedSystem;\r
+import org.argeo.slc.core.process.SlcExecution;\r
\r
public class TestRunDescriptor {\r
private String testRunUuid;\r
}\r
\r
public void close(TreeTestResult testResult) {\r
+ log.info("Test result " + testResult.getUuid() + " closed.");\r
}\r
\r
}\r
--- /dev/null
+package org.argeo.slc.core.test.tree;\r
+\r
+import java.util.List;\r
+\r
+import org.springframework.ws.client.core.WebServiceTemplate;\r
+import org.springframework.ws.soap.client.SoapFaultClientException;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
+import org.argeo.slc.core.test.TestResultListener;\r
+import org.argeo.slc.core.test.TestResultPart;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
+import org.argeo.slc.msg.process.SlcExecutionRequest;\r
+import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
+import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;\r
+import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;\r
+import org.argeo.slc.msg.test.tree.ResultPartRequest;\r
+import org.argeo.slc.ws.client.WebServiceUtils;\r
+\r
+public class WebServiceSlcExecutionNotifier implements\r
+ TestResultListener<TreeTestResult> {\r
+ private WebServiceTemplate template;\r
+ private Boolean onlyOnClose = false;\r
+\r
+ private Log log = LogFactory.getLog(getClass());\r
+\r
+ public void resultPartAdded(TreeTestResult testResult,\r
+ TestResultPart testResultPart) {\r
+ try {\r
+ if (testResult.getResultParts().size() == 1) {\r
+ CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(\r
+ testResult);\r
+\r
+ if (log.isDebugEnabled())\r
+ log.debug("Send create result request for result "\r
+ + testResult.getUuid());\r
+\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ } else {\r
+ ResultPartRequest req = new ResultPartRequest(testResult);\r
+\r
+ if (log.isDebugEnabled())\r
+ log.debug("Send result parts for result "\r
+ + testResult.getUuid());\r
+\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ }\r
+ } catch (SoapFaultClientException e) {\r
+ WebServiceUtils.manageSoapException(e);\r
+ }\r
+ }\r
+\r
+ public void close(TreeTestResult testResult) {\r
+ try {\r
+ if (onlyOnClose) {\r
+ CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(\r
+ testResult);\r
+\r
+ if (log.isDebugEnabled())\r
+ log.debug("Send create result request for result "\r
+ + testResult.getUuid());\r
+\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+ } else {\r
+ CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(\r
+ testResult);\r
+\r
+ if (log.isDebugEnabled())\r
+ log.debug("Send close result request for result "\r
+ + testResult.getUuid());\r
+\r
+ WebServiceUtils.marshalSendAndReceive(template, req);\r
+\r
+ }\r
+ } catch (SoapFaultClientException e) {\r
+ WebServiceUtils.manageSoapException(e);\r
+ }\r
+\r
+ }\r
+\r
+ public void setTemplate(WebServiceTemplate template) {\r
+ this.template = template;\r
+ }\r
+\r
+ public void setOnlyOnClose(Boolean onlyOnClose) {\r
+ this.onlyOnClose = onlyOnClose;\r
+ }\r
+}\r
\r
import java.util.Date;\r
\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+\r
public class CloseTreeTestResultRequest {\r
private String resultUuid;\r
private Date closeDate;\r
}\r
\r
public CloseTreeTestResultRequest(String resultUuid, Date closeDate) {\r
- super();\r
this.resultUuid = resultUuid;\r
this.closeDate = closeDate;\r
}\r
\r
+ public CloseTreeTestResultRequest(TreeTestResult ttr) {\r
+ this.resultUuid = ttr.getUuid();\r
+ this.closeDate = ttr.getCloseDate();\r
+ }\r
+\r
public String getResultUuid() {\r
return resultUuid;\r
}\r
\r
import java.util.Map;\r
\r
+import org.argeo.slc.core.SlcException;\r
+import org.argeo.slc.core.process.SlcExecution;\r
import org.argeo.slc.core.structure.StructureElement;\r
import org.argeo.slc.core.structure.tree.TreeSPath;\r
import org.argeo.slc.core.test.SimpleResultPart;\r
import org.argeo.slc.core.test.TestRunDescriptor;\r
+import org.argeo.slc.core.test.tree.PartSubList;\r
import org.argeo.slc.core.test.tree.TreeTestResult;\r
\r
public class ResultPartRequest {\r
testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun());\r
}\r
\r
+ public ResultPartRequest(TreeTestResult ttr) {\r
+ resultUuid = ttr.getUuid();\r
+ this.path = ttr.getCurrentPath();\r
+\r
+ PartSubList lst = ttr.getResultParts().get(path);\r
+ if (lst.getParts().size() < 1) {\r
+ throw new SlcException("Cannot find part for path " + path\r
+ + " in result " + resultUuid);\r
+ }\r
+\r
+ this.resultPart = (SimpleResultPart) lst.getParts().get(\r
+ lst.getParts().size() - 1);\r
+ relatedElements = ttr.getRelatedElements(path);\r
+ if (ttr.getCurrentTestRun() != null)\r
+ testRunDescriptor = new TestRunDescriptor(ttr.getCurrentTestRun());\r
+ }\r
+\r
public String getResultUuid() {\r
return resultUuid;\r
}\r
this.resultPart = resultPart;\r
}\r
\r
- \r
- \r
public TreeSPath getPath() {\r
return path;\r
}\r
\r
import javax.xml.transform.Source;\r
\r
-import junit.framework.TestCase;\r
-\r
import org.springframework.ws.client.WebServiceClientException;\r
import org.springframework.ws.client.WebServiceIOException;\r
import org.springframework.ws.client.support.interceptor.ClientInterceptor;\r
--- /dev/null
+package org.argeo.slc.ws.client;\r
+\r
+import java.util.Iterator;\r
+\r
+import javax.xml.transform.Source;\r
+import javax.xml.transform.dom.DOMSource;\r
+\r
+import org.springframework.ws.client.core.WebServiceTemplate;\r
+import org.springframework.ws.soap.SoapFaultDetail;\r
+import org.springframework.ws.soap.SoapFaultDetailElement;\r
+import org.springframework.ws.soap.client.SoapFaultClientException;\r
+import org.springframework.xml.transform.StringResult;\r
+import org.w3c.dom.Node;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
+public abstract class WebServiceUtils {\r
+ private final static Log log = LogFactory.getLog(WebServiceUtils.class);\r
+\r
+ public static Object marshalSendAndReceive(WebServiceTemplate template,\r
+ Object req) {\r
+ if (log.isTraceEnabled()) {\r
+ try {\r
+ StringResult result = new StringResult();\r
+ template.getMarshaller().marshal(req, result);\r
+ log.trace("About to send " + result);\r
+ } catch (Exception e) {\r
+ log.error("Cannot marshall " + req + " for logging", e);\r
+ }\r
+ }\r
+ Object resp = template.marshalSendAndReceive(req);\r
+ return resp;\r
+ }\r
+\r
+ public static void manageSoapException(SoapFaultClientException e) {\r
+ log\r
+ .error("WS root cause: "\r
+ + e.getSoapFault().getFaultStringOrReason());\r
+ StringBuffer stack = new StringBuffer("");\r
+ SoapFaultDetail detail = e.getSoapFault().getFaultDetail();\r
+ if (detail != null) {\r
+ Iterator<SoapFaultDetailElement> it = (Iterator<SoapFaultDetailElement>) detail\r
+ .getDetailEntries();\r
+ while (it.hasNext()) {\r
+ SoapFaultDetailElement elem = it.next();\r
+ if (elem.getName().getLocalPart().equals("StackElement")) {\r
+ Source source = elem.getSource();\r
+ if (source instanceof DOMSource) {\r
+ Node node = ((DOMSource) source).getNode();\r
+ stack.append(node.getTextContent()).append('\n');\r
+ }\r
+ }\r
+ }\r
+\r
+ if (stack.length() > 0 && log.isTraceEnabled())\r
+ log.error("WS root cause stack: " + stack);\r
+ }\r
+ }\r
+\r
+ private WebServiceUtils() {\r
+\r
+ }\r
+}\r
+++ /dev/null
-package org.argeo.slc.core.process;\r
-\r
-import java.net.URL;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-\r
-import org.argeo.slc.ant.AntRunner;\r
-import org.argeo.slc.unit.AbstractSpringTestCase;\r
-\r
-public class SlcAntWsIntegrationTest extends AbstractSpringTestCase {\r
- private Log log = LogFactory.getLog(getClass());\r
-\r
- public void testSimpleRun() {\r
- // AntRegistryUtil.runAll(getClass().getResource(\r
- // "/org/argeo/slc/ant/build.xml"), "test", null);\r
-\r
- URL url = getClass().getResource("/org/argeo/slc/ant/build.xml");\r
- log.info("Run Ant file from URL: " + url);\r
- AntRunner antRunner = new AntRunner(getContext(), url, "test");\r
-\r
- antRunner.run();\r
- }\r
-\r
-}\r
+++ /dev/null
-package org.argeo.slc.core.process;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.argeo.slc.msg.process.SlcExecutionRequest;
-import org.argeo.slc.unit.AbstractSpringTestCase;
-import org.springframework.ws.client.core.WebServiceTemplate;
-
-public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
- private Log log = LogFactory.getLog(getClass());
-
- public void testSendSlcExecutionrequest() {
- WebServiceTemplate template = getBean(WebServiceTemplate.class);
- SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
-
- SlcExecutionRequest req = new SlcExecutionRequest();
- req.setSlcExecution(slcExec);
-
- log.info("Send SlcExecutionRequest for SlcExecution "
- + slcExec.getUuid());
-
- Object resp = template.marshalSendAndReceive(req);
- log.info("Resp: " + resp);
- }
-}
--- /dev/null
+package org.argeo.slc.core.structure.tree;\r
+\r
+import junit.framework.TestCase;\r
+\r
+public class TreeSPathTest extends TestCase {\r
+\r
+ public void testNew() {\r
+ TreeSPath path = new TreeSPath("/test");\r
+ assertEquals("test", path.getName());\r
+ assertNull(path.getParent());\r
+\r
+ path = new TreeSPath("/root/subdir");\r
+ assertEquals("subdir", path.getName());\r
+ assertEquals(new TreeSPath("/root"), path.getParent());\r
+ }\r
+\r
+ public void testEquals() {\r
+ TreeSPath path1 = new TreeSPath("/test");\r
+ TreeSPath path2 = new TreeSPath("/test");\r
+ assertEquals(path1, path2);\r
+ \r
+ path1 = new TreeSPath("/test/subdir/anotherdir");\r
+ path2 = new TreeSPath("/test/subdir/anotherdir");\r
+ assertEquals(path1, path2);\r
+ \r
+ path1 = new TreeSPath("/test/subdir/anotherd");\r
+ path2 = new TreeSPath("/test/subdir/anotherdir");\r
+ assertNotSame(path1, path2);\r
+ \r
+ path1 = new TreeSPath("/test/subdir");\r
+ path2 = new TreeSPath("/test/subdir/anotherdir");\r
+ assertNotSame(path1, path2);\r
+ \r
+ path1 = new TreeSPath("/test/subd/anotherdir");\r
+ path2 = new TreeSPath("/test/subdir/anotherdir");\r
+ assertNotSame(path1, path2);\r
+ }\r
+ \r
+ public void testCheckFormat(){\r
+ try{\r
+ new TreeSPath("hello");\r
+ fail("Bad format should be rejected");\r
+ }catch(Exception e){\r
+ // exception expected\r
+ }\r
+ \r
+ try{\r
+ new TreeSPath("/");\r
+ fail("Bad format should be rejected");\r
+ }catch(Exception e){\r
+ // exception expected\r
+ }\r
+ \r
+ assertEquals(new TreeSPath("/test"), new TreeSPath("/test/"));\r
+ assertEquals(new TreeSPath("/test/dir"), new TreeSPath("//test///dir////"));\r
+ }\r
+}\r
+++ /dev/null
-package org.argeo.slc.core.test.tree;
-
-import org.springframework.ws.client.core.WebServiceTemplate;
-
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
-import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;
-
-import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
-import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
-import org.argeo.slc.msg.test.tree.ResultPartRequest;
-import org.argeo.slc.unit.AbstractSpringTestCase;
-
-public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
- private Log log = LogFactory.getLog(getClass());
-
- public void testCreateTreeTestResultRequest() {
- WebServiceTemplate template = getBean(WebServiceTemplate.class);
- CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
- createCompleteTreeTestResult());
-
- log.info("Send CreateTreeTestResultRequest for result "
- + req.getTreeTestResult().getUuid());
-
- Object resp = template.marshalSendAndReceive(req);
- log.info("Resp: " + resp);
- }
-
- public void testResultPartRequest() {
- WebServiceTemplate template = getBean(WebServiceTemplate.class);
- TreeTestResult ttr = createCompleteTreeTestResult();
- CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
- ttr);
- log.info("Send CreateTreeTestResultRequest for result "
- + reqCreate.getTreeTestResult().getUuid());
- template.marshalSendAndReceive(reqCreate);
-
- ResultPartRequest req = createSimpleResultPartRequest(ttr);
-
- log.info("Send ResultPartRequest for result " + req.getResultUuid());
- Object resp = template.marshalSendAndReceive(req);
- log.info("Resp: " + resp);
- }
-
- public void testCloseTreeTestResultRequest() {
- WebServiceTemplate template = getBean(WebServiceTemplate.class);
-
- TreeTestResult ttr = createCompleteTreeTestResult();
- CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
- ttr);
- log.info("Send CreateTreeTestResultRequest for result "
- + reqCreate.getTreeTestResult().getUuid());
- template.marshalSendAndReceive(reqCreate);
-
- ttr.close();
- CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr
- .getUuid(), ttr.getCloseDate());
-
- log.info("Send CloseTreeTestResultRequest for result "
- + req.getResultUuid());
-
- Object resp = template.marshalSendAndReceive(req);
- log.info("Resp: " + resp);
- }
-}
--- /dev/null
+package org.argeo.slc.ws;\r
+\r
+import java.net.URL;\r
+\r
+import org.apache.commons.logging.Log;\r
+import org.apache.commons.logging.LogFactory;\r
+\r
+import org.argeo.slc.ant.AntRunner;\r
+import org.argeo.slc.unit.AbstractSpringTestCase;\r
+\r
+public class SlcAntWsIntegrationTest extends AbstractSpringTestCase {\r
+ private Log log = LogFactory.getLog(getClass());\r
+\r
+ public void testSimpleRun() {\r
+ // AntRegistryUtil.runAll(getClass().getResource(\r
+ // "/org/argeo/slc/ant/build.xml"), "test", null);\r
+\r
+ URL url = getClass().getResource("/org/argeo/slc/ant/build.xml");\r
+ log.info("Run Ant file from URL: " + url);\r
+ AntRunner antRunner = new AntRunner(getContext(), url, "test");\r
+\r
+ antRunner.run();\r
+ }\r
+\r
+}\r
--- /dev/null
+package org.argeo.slc.ws;
+
+import org.springframework.ws.client.core.WebServiceTemplate;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import org.argeo.slc.core.process.SlcExecution;
+import org.argeo.slc.core.process.SlcExecutionTestUtils;
+import org.argeo.slc.msg.process.SlcExecutionRequest;
+import org.argeo.slc.unit.AbstractSpringTestCase;
+
+public class SlcExecutionWsIntegrationTest extends AbstractSpringTestCase {
+ private Log log = LogFactory.getLog(getClass());
+
+ public void testSendSlcExecutionrequest() {
+ WebServiceTemplate template = getBean(WebServiceTemplate.class);
+ SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();
+
+ SlcExecutionRequest req = new SlcExecutionRequest();
+ req.setSlcExecution(slcExec);
+
+ log.info("Send SlcExecutionRequest for SlcExecution "
+ + slcExec.getUuid());
+
+ Object resp = template.marshalSendAndReceive(req);
+ log.info("Resp: " + resp);
+ }
+}
--- /dev/null
+package org.argeo.slc.ws;
+
+import org.springframework.ws.client.core.WebServiceTemplate;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;
+import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;
+
+import org.argeo.slc.core.test.tree.TreeTestResult;
+import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest;
+import org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest;
+import org.argeo.slc.msg.test.tree.ResultPartRequest;
+import org.argeo.slc.unit.AbstractSpringTestCase;
+
+public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
+ private Log log = LogFactory.getLog(getClass());
+
+ public void testCreateTreeTestResultRequest() {
+ WebServiceTemplate template = getBean(WebServiceTemplate.class);
+ CreateTreeTestResultRequest req = new CreateTreeTestResultRequest(
+ createCompleteTreeTestResult());
+
+ log.info("Send CreateTreeTestResultRequest for result "
+ + req.getTreeTestResult().getUuid());
+
+ Object resp = template.marshalSendAndReceive(req);
+ log.info("Resp: " + resp);
+ }
+
+ public void testResultPartRequest() {
+ WebServiceTemplate template = getBean(WebServiceTemplate.class);
+ TreeTestResult ttr = createCompleteTreeTestResult();
+ CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
+ ttr);
+ log.info("Send CreateTreeTestResultRequest for result "
+ + reqCreate.getTreeTestResult().getUuid());
+ template.marshalSendAndReceive(reqCreate);
+
+ ResultPartRequest req = createSimpleResultPartRequest(ttr);
+
+ log.info("Send ResultPartRequest for result " + req.getResultUuid());
+ Object resp = template.marshalSendAndReceive(req);
+ log.info("Resp: " + resp);
+ }
+
+ public void testCloseTreeTestResultRequest() {
+ WebServiceTemplate template = getBean(WebServiceTemplate.class);
+
+ TreeTestResult ttr = createCompleteTreeTestResult();
+ CreateTreeTestResultRequest reqCreate = new CreateTreeTestResultRequest(
+ ttr);
+ log.info("Send CreateTreeTestResultRequest for result "
+ + reqCreate.getTreeTestResult().getUuid());
+ template.marshalSendAndReceive(reqCreate);
+
+ ttr.close();
+ CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr
+ .getUuid(), ttr.getCloseDate());
+
+ log.info("Send CloseTreeTestResultRequest for result "
+ + req.getResultUuid());
+
+ Object resp = template.marshalSendAndReceive(req);
+ log.info("Resp: " + resp);
+ }
+}
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
- <bean name="testRun"\r
- class="org.argeo.slc.core.test.SimpleTestRun">\r
- </bean>\r
+ <import resource="classpath:/org/argeo/slc/ant/nonDepContext.xml" />\r
\r
<bean id="testResult"\r
class="org.argeo.slc.core.test.tree.TreeTestResult">\r
</property>\r
</bean>\r
\r
- <bean name="uuid" class="java.util.UUID" factory-method="randomUUID"\r
- scope="prototype">\r
- </bean>\r
-\r
- <bean id="resultLogger"\r
- class="org.argeo.slc.core.test.tree.TreeTestResultLogger">\r
- </bean>\r
-\r
- <bean name="testDef"\r
- class="org.argeo.slc.core.test.BasicTestDefinition" scope="prototype" />\r
-\r
- <bean name="testData1"\r
- class="org.argeo.slc.core.test.BasicTestData">\r
- <property name="expected">\r
- <value>toto</value>\r
- </property>\r
- <property name="reached">\r
- <value>toto</value>\r
- </property>\r
- </bean>\r
-\r
- <bean id="testData.context1" parent="context.template">\r
- <property name="values">\r
- <map>\r
- <entry key="reference" value="20" />\r
- <entry key="varIntern" value="60" />\r
- </map>\r
- </property>\r
- <property name="expectedValues">\r
- <map>\r
- <entry key="reference" value="21" />\r
- <entry key="varIntern" value="60" />\r
- </map>\r
- </property>\r
- </bean>\r
-\r
- <bean id="context.template"\r
- class="org.argeo.slc.core.test.context.DefaultContextTestData"\r
- abstract="true">\r
- </bean>\r
-\r
</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+ <bean name="testRun"\r
+ class="org.argeo.slc.core.test.SimpleTestRun">\r
+ </bean>\r
+\r
+ <bean id="testResult"\r
+ class="org.argeo.slc.core.test.tree.TreeTestResult">\r
+ <property name="uuid">\r
+ <bean factory-bean="uuid" factory-method="toString"></bean>\r
+ </property>\r
+ <property name="listeners">\r
+ <list>\r
+ <ref bean="resultLogger" />\r
+ </list>\r
+ </property>\r
+ </bean>\r
+\r
+ <bean name="uuid" class="java.util.UUID" factory-method="randomUUID"\r
+ scope="prototype">\r
+ </bean>\r
+\r
+ <bean id="resultLogger"\r
+ class="org.argeo.slc.core.test.tree.TreeTestResultLogger">\r
+ </bean>\r
+\r
+ <bean name="testDef"\r
+ class="org.argeo.slc.core.test.BasicTestDefinition" scope="prototype" />\r
+\r
+ <bean name="testData1"\r
+ class="org.argeo.slc.core.test.BasicTestData">\r
+ <property name="expected">\r
+ <value>toto</value>\r
+ </property>\r
+ <property name="reached">\r
+ <value>toto</value>\r
+ </property>\r
+ </bean>\r
+\r
+ <bean id="testData.context1" parent="context.template">\r
+ <property name="values">\r
+ <map>\r
+ <entry key="reference" value="20" />\r
+ <entry key="varIntern" value="60" />\r
+ </map>\r
+ </property>\r
+ <property name="expectedValues">\r
+ <map>\r
+ <entry key="reference" value="21" />\r
+ <entry key="varIntern" value="60" />\r
+ </map>\r
+ </property>\r
+ </bean>\r
+\r
+ <bean id="context.template"\r
+ class="org.argeo.slc.core.test.context.DefaultContextTestData"\r
+ abstract="true">\r
+ </bean>\r
+\r
+</beans>
\ No newline at end of file
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
+<!-- TODO: remove this file\r
<import\r
resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
<import\r
resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
-\r
+-->\r
</beans>\r
-<?xml version="1.0" encoding="UTF-8"?>
-<beans xmlns="http://www.springframework.org/schema/beans"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
- <import resource="classpath:/org/argeo/slc/ant/applicationContext.xml" />\r
- <import resource="execution.xml" />\r
-
+\r
+ <import\r
+ resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />\r
+ <import\r
+ resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
</beans>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>\r
-<beans xmlns="http://www.springframework.org/schema/beans"\r
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
- xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
-\r
- <import\r
- resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
-\r
- <bean name="executionBuildListener"\r
- class="org.argeo.slc.ant.SlcExecutionBuildListener">\r
- <property name="notifiers">\r
- <list>\r
- <ref bean="webServiceNotifier" />\r
- </list>\r
- </property>\r
- </bean>\r
-\r
- <bean name="fileNotifier"\r
- class="org.argeo.slc.core.process.FileSlcExecutionNotifier">\r
- <property name="basePath" value="${slc.workDir}/process" />\r
- <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
- </bean>\r
-\r
- <bean name="webServiceNotifier"\r
- class="org.argeo.slc.core.process.WebServiceSlcExecutionNotifier">\r
- <property name="template"\r
- ref="slcDefault.ws.client.webServiceTemplate" />\r
- </bean>\r
-\r
-</beans>
\ No newline at end of file
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
\r
<import\r
- resource="classpath:/org/argeo/slc/castor/applicationContext.xml" />\r
+ resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />\r
+ <import\r
+ resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
\r
</beans>
\ No newline at end of file
--- /dev/null
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+ <import\r
+ resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
+ <import resource="classpath:/org/argeo/slc/ant/nonDepContext.xml" />\r
+ <import resource="execution.xml" />\r
+ <import resource="result.xml" />\r
+\r
+</beans>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+ <import\r
+ resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
+\r
+ <bean name="executionBuildListener"\r
+ class="org.argeo.slc.ant.SlcExecutionBuildListener">\r
+ <property name="notifiers">\r
+ <list>\r
+ <ref bean="webServiceNotifier" />\r
+ </list>\r
+ </property>\r
+ </bean>\r
+\r
+ <bean name="fileNotifier"\r
+ class="org.argeo.slc.core.process.FileSlcExecutionNotifier">\r
+ <property name="basePath" value="${slc.workDir}/process" />\r
+ <property name="marshaller" ref="slcDefault.castor.marshaller" />\r
+ </bean>\r
+\r
+ <bean name="webServiceNotifier"\r
+ class="org.argeo.slc.core.process.WebServiceSlcExecutionNotifier">\r
+ <property name="template"\r
+ ref="slcDefault.ws.client.webServiceTemplate" />\r
+ </bean>\r
+\r
+</beans>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<beans xmlns="http://www.springframework.org/schema/beans"\r
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"\r
+ xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">\r
+\r
+ <import\r
+ resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
+\r
+ <bean id="testResult"\r
+ class="org.argeo.slc.core.test.tree.TreeTestResult">\r
+ <property name="uuid">\r
+ <bean factory-bean="uuid" factory-method="toString"></bean>\r
+ </property>\r
+ <property name="listeners">\r
+ <list>\r
+ <ref bean="resultLogger" />\r
+ <ref bean="resultWsNotfier" />\r
+ </list>\r
+ </property>\r
+ </bean>\r
+\r
+ <bean name="resultWsNotfier"\r
+ class="org.argeo.slc.core.test.tree.WebServiceSlcExecutionNotifier">\r
+ <property name="template"\r
+ ref="slcDefault.ws.client.webServiceTemplate" />\r
+ </bean>\r
+\r
+</beans>
\ No newline at end of file