Introduce ExecutionAnswer
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Dec 2008 14:31:57 +0000 (14:31 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Dec 2008 14:31:57 +0000 (14:31 +0000)
ASSIGNED - bug 71: Extend capabilities of web services
https://www.argeo.org/bugzilla/show_bug.cgi?id=71

git-svn-id: https://svn.argeo.org/slc/trunk@1954 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

13 files changed:
runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/AbstractCastorTestCase.java [new file with mode: 0644]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ExecutionAnswerCastorTest.java [new file with mode: 0644]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcExecutionCastorTest.java [new file with mode: 0644]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCastorTest.java [new file with mode: 0644]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCollectionCastorTest.java [new file with mode: 0644]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java [deleted file]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java [deleted file]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java [deleted file]
runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCollectionCastorTest.java [deleted file]
runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/castor/applicationContext.xml
runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/process/applicationContext.xml [deleted file]
runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml [deleted file]

index fafc89af0ee674c05739adda97147402d4a360e1..de723df742f250cfc7e097e3b39deb705a8c5907 100644 (file)
@@ -1,99 +1,98 @@
 <?xml version="1.0"?>
 
 <mapping>
-    <description>Message objects XML mapping</description>
+       <description>Message objects XML mapping</description>
 
-    <!-- TESTS -->
-    <class
-        name="org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="treeTestResult"
-            type="org.argeo.slc.core.test.tree.TreeTestResult" />
-        <field name="testRunDescriptor" />
-    </class>
+       <!-- BASIC -->
+       <class name="org.argeo.slc.msg.ExecutionAnswer">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="status" />
+               <field name="message" />
+       </class>
 
-    <class
-        name="org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="resultUuid" />
-        <field name="closeDate" />
-    </class>
+       <!-- TESTS -->
+       <class name="org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="treeTestResult" type="org.argeo.slc.core.test.tree.TreeTestResult" />
+               <field name="testRunDescriptor" />
+       </class>
 
-    <class name="org.argeo.slc.msg.test.tree.ResultPartRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="resultUuid" />
-        <field name="resultPart"
-            type="org.argeo.slc.core.test.SimpleResultPart">
-            <bind-xml auto-naming="deriveByClass" />
-        </field>
+       <class name="org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="resultUuid" />
+               <field name="closeDate" />
+       </class>
 
-        <field name="relatedElements" collection="map">
-            <bind-xml name="element" location="related-elements">
-                <class name="org.exolab.castor.mapping.MapItem">
-                    <map-to
-                        ns-uri="http://argeo.org/projects/slc/schemas"
-                        ns-prefix="slc" />
-                    <field name="key"
-                        type="org.argeo.slc.core.structure.tree.TreeSPath"
-                        handler="org.argeo.slc.castor.structure.tree.TreeSPathFieldHandler">
-                        <bind-xml name="path" node="attribute" />
-                    </field>
-                    <field name="value"
-                        type="org.argeo.slc.core.structure.SimpleSElement">
-                        <bind-xml auto-naming="deriveByClass" />
-                    </field>
-                </class>
-            </bind-xml>
-        </field>
-        <field name="path">
-            <bind-xml auto-naming="deriveByClass" />
-        </field>
-        <field name="testRunDescriptor" />
-        <field name="attributes" collection="hashtable">
-            <bind-xml name="attribute" location="attributes">
-                <class name="org.exolab.castor.mapping.MapItem">
-                    <map-to
-                        ns-uri="http://argeo.org/projects/slc/schemas"
-                        ns-prefix="slc" />
-                    <field name="key" type="string">
-                        <bind-xml name="name" node="attribute" />
-                    </field>
-                    <field name="value" type="string">
-                        <bind-xml node="text" />
-                    </field>
-                </class>
-            </bind-xml>
-        </field>
-    </class>
+       <class name="org.argeo.slc.msg.test.tree.ResultPartRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="resultUuid" />
+               <field name="resultPart" type="org.argeo.slc.core.test.SimpleResultPart">
+                       <bind-xml auto-naming="deriveByClass" />
+               </field>
 
+               <field name="relatedElements" collection="map">
+                       <bind-xml name="element" location="related-elements">
+                               <class name="org.exolab.castor.mapping.MapItem">
+                                       <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                                               ns-prefix="slc" />
+                                       <field name="key" type="org.argeo.slc.core.structure.tree.TreeSPath"
+                                               handler="org.argeo.slc.castor.structure.tree.TreeSPathFieldHandler">
+                                               <bind-xml name="path" node="attribute" />
+                                       </field>
+                                       <field name="value" type="org.argeo.slc.core.structure.SimpleSElement">
+                                               <bind-xml auto-naming="deriveByClass" />
+                                       </field>
+                               </class>
+                       </bind-xml>
+               </field>
+               <field name="path">
+                       <bind-xml auto-naming="deriveByClass" />
+               </field>
+               <field name="testRunDescriptor" />
+               <field name="attributes" collection="hashtable">
+                       <bind-xml name="attribute" location="attributes">
+                               <class name="org.exolab.castor.mapping.MapItem">
+                                       <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                                               ns-prefix="slc" />
+                                       <field name="key" type="string">
+                                               <bind-xml name="name" node="attribute" />
+                                       </field>
+                                       <field name="value" type="string">
+                                               <bind-xml node="text" />
+                                       </field>
+                               </class>
+                       </bind-xml>
+               </field>
+       </class>
 
-    <!-- PROCESS -->
-    <class name="org.argeo.slc.msg.process.SlcExecutionStepsRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="slcExecutionUuid" />
-        <field name="steps" collection="vector"
-            type="org.argeo.slc.process.SlcExecutionStep">
-            <bind-xml auto-naming="deriveByClass" location="steps" />
-        </field>
-    </class>
 
-    <class name="org.argeo.slc.msg.process.SlcExecutionStatusRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="slcExecutionUuid" />
-        <field name="newStatus" />
-    </class>
+       <!-- PROCESS -->
+       <class name="org.argeo.slc.msg.process.SlcExecutionStepsRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="slcExecutionUuid" />
+               <field name="steps" collection="vector"
+                       type="org.argeo.slc.process.SlcExecutionStep">
+                       <bind-xml auto-naming="deriveByClass" location="steps" />
+               </field>
+       </class>
 
-    <class name="org.argeo.slc.msg.process.SlcExecutionRequest">
-        <map-to ns-uri="http://argeo.org/projects/slc/schemas"
-            ns-prefix="slc" />
-        <field name="slcExecution"
-            type="org.argeo.slc.process.SlcExecution" />
-    </class>
+       <class name="org.argeo.slc.msg.process.SlcExecutionStatusRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="slcExecutionUuid" />
+               <field name="newStatus" />
+       </class>
+
+       <class name="org.argeo.slc.msg.process.SlcExecutionRequest">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="slcExecution" type="org.argeo.slc.process.SlcExecution" />
+       </class>
 
 
 </mapping>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/AbstractCastorTestCase.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/AbstractCastorTestCase.java
new file mode 100644 (file)
index 0000000..d558083
--- /dev/null
@@ -0,0 +1,44 @@
+package org.argeo.slc.castor;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.argeo.slc.unit.AbstractSpringTestCase;
+import org.argeo.slc.unit.UnitXmlUtils;
+import org.springframework.oxm.Marshaller;
+import org.springframework.oxm.Unmarshaller;
+import org.springframework.xml.transform.StringResult;
+import org.springframework.xml.transform.StringSource;
+import org.springframework.xml.validation.XmlValidator;
+
+public abstract class AbstractCastorTestCase extends AbstractSpringTestCase {
+       protected Log log = LogFactory.getLog(getClass());
+
+       private Marshaller marshaller;
+       private Unmarshaller unmarshaller;
+
+       @Override
+       public void setUp() {
+               marshaller = getBean(Marshaller.class);
+               unmarshaller = getBean(Unmarshaller.class);
+       }
+
+       protected StringResult marshalAndValidate(Object obj) throws Exception {
+               StringResult xml = new StringResult();
+               marshaller.marshal(obj, xml);
+
+               log.info("Marshalled ResultPart Request: " + xml);
+
+               UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),
+                               new StringSource(xml.toString()));
+               return xml;
+       }
+
+       protected <T> T unmarshal(StringResult xml) throws Exception {
+               return (T) unmarshaller.unmarshal(new StringSource(xml.toString()));
+       }
+
+       protected <T> T marshUnmarsh(Object obj) throws Exception {
+               StringResult xml = marshalAndValidate(obj);
+               return unmarshal(xml);
+       }
+}
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ExecutionAnswerCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/ExecutionAnswerCastorTest.java
new file mode 100644 (file)
index 0000000..a9bc160
--- /dev/null
@@ -0,0 +1,25 @@
+package org.argeo.slc.castor;\r
+\r
+import org.argeo.slc.msg.ExecutionAnswer;\r
+\r
+public class ExecutionAnswerCastorTest extends AbstractCastorTestCase {\r
+       public void testMarshUnmarshOk() throws Exception {\r
+               ExecutionAnswer answer = new ExecutionAnswer(ExecutionAnswer.OK,\r
+                               "No problem!");\r
+               ExecutionAnswer answerUnm = marshUnmarsh(answer);\r
+               assertExecutionAnswer(answer, answerUnm);\r
+       }\r
+\r
+       public void testMarshUnmarshError() throws Exception {\r
+               ExecutionAnswer answer = new ExecutionAnswer(ExecutionAnswer.ERROR,\r
+                               "Oooops...");\r
+               ExecutionAnswer answerUnm = marshUnmarsh(answer);\r
+               assertExecutionAnswer(answer, answerUnm);\r
+       }\r
+\r
+       public static void assertExecutionAnswer(ExecutionAnswer expected,\r
+                       ExecutionAnswer reached) {\r
+               assertEquals(expected.getStatus(), reached.getStatus());\r
+               assertEquals(expected.getMessage(), reached.getMessage());\r
+       }\r
+}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcExecutionCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/SlcExecutionCastorTest.java
new file mode 100644 (file)
index 0000000..a8f724f
--- /dev/null
@@ -0,0 +1,66 @@
+package org.argeo.slc.castor;\r
+\r
+import java.text.SimpleDateFormat;\r
+import java.util.UUID;\r
+\r
+import org.argeo.slc.msg.process.SlcExecutionRequest;\r
+import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
+import org.argeo.slc.process.SlcExecution;\r
+import org.argeo.slc.process.SlcExecutionStep;\r
+import org.argeo.slc.unit.process.SlcExecutionTestUtils;\r
+import org.springframework.xml.transform.StringResult;\r
+\r
+public class SlcExecutionCastorTest extends AbstractCastorTestCase {\r
+       public void testMarshalling() throws Exception {\r
+               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
+\r
+               SlcExecutionRequest msgSave = new SlcExecutionRequest();\r
+               msgSave.setSlcExecution(slcExec);\r
+\r
+               StringResult msgSaveXml = marshalAndValidate(msgSave);\r
+\r
+               SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");\r
+               SlcExecutionStep step0 = new SlcExecutionStep();\r
+               step0.setUuid(UUID.randomUUID().toString());\r
+               step0.setBegin(sdf.parse("2008-04-17 18:21"));\r
+               step0.setType("LOG");\r
+               step0.addLog("A log message\nand another line");\r
+\r
+               SlcExecutionStep step1 = new SlcExecutionStep();\r
+               step1.setUuid(UUID.randomUUID().toString());\r
+               step1.setBegin(sdf.parse("2008-04-17 18:25"));\r
+               step1.setType("LOG");\r
+               step1.addLog("A nother log message");\r
+\r
+               SlcExecutionStepsRequest msgNotif = new SlcExecutionStepsRequest();\r
+               msgNotif.addStep(step0);\r
+               msgNotif.addStep(step1);\r
+               msgNotif.setSlcExecutionUuid(slcExec.getUuid());\r
+\r
+               StringResult msgNotifXml = marshalAndValidate(msgNotif);\r
+\r
+               SlcExecutionRequest msgSaveUnm = unmarshal(msgSaveXml);\r
+               assertNotNull(msgSaveUnm);\r
+               SlcExecutionTestUtils.assertSlcExecution(slcExec, msgSaveUnm\r
+                               .getSlcExecution());\r
+\r
+               SlcExecutionStepsRequest msgNotifUnm = unmarshal(msgNotifXml);\r
+               assertNotNull(msgNotifUnm);\r
+               assertEquals(slcExec.getUuid(), msgNotifUnm.getSlcExecutionUuid());\r
+               assertEquals(2, msgNotifUnm.getSteps().size());\r
+               SlcExecutionTestUtils.assertSlcExecutionStep(step0, msgNotifUnm\r
+                               .getSteps().get(0));\r
+               SlcExecutionTestUtils.assertSlcExecutionStep(step1, msgNotifUnm\r
+                               .getSteps().get(1));\r
+\r
+               SlcExecution slcExecUnm = msgSaveUnm.getSlcExecution();\r
+               slcExecUnm.getSteps().addAll(msgNotifUnm.getSteps());\r
+\r
+               SlcExecutionRequest msgUpdate = new SlcExecutionRequest();\r
+               msgUpdate.setSlcExecution(slcExecUnm);\r
+               StringResult msgUpdateXml = marshalAndValidate(msgUpdate);\r
+\r
+               SlcExecutionRequest msgUpdateUnm = unmarshal(msgUpdateXml);\r
+               assertNotNull(msgUpdateUnm);\r
+       }\r
+}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCastorTest.java
new file mode 100644 (file)
index 0000000..b43fb99
--- /dev/null
@@ -0,0 +1,63 @@
+package org.argeo.slc.castor;\r
+\r
+import static org.argeo.slc.unit.UnitUtils.assertDateSec;\r
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;\r
+\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\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.unit.test.tree.UnitTestTreeUtil;\r
+import org.springframework.xml.transform.StringResult;\r
+\r
+public class TreeTestResultCastorTest extends AbstractCastorTestCase {\r
+       public void testMarshUnmarsh() throws Exception {\r
+               TreeTestResult ttr = createCompleteTreeTestResult();\r
+\r
+               StringResult xml = marshalAndValidate(ttr);\r
+\r
+               TreeTestResult ttrUnm = unmarshal(xml);\r
+\r
+               UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);\r
+       }\r
+\r
+       public void testCreateTreeTestResultRequest() throws Exception {\r
+               CreateTreeTestResultRequest req = new CreateTreeTestResultRequest();\r
+               req.setTreeTestResult(createCompleteTreeTestResult());\r
+\r
+               StringResult xml = marshalAndValidate(req);\r
+\r
+               CreateTreeTestResultRequest reqUnm = unmarshal(xml);\r
+\r
+               UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm\r
+                               .getTreeTestResult());\r
+       }\r
+\r
+       public void testResultPartRequest() throws Exception {\r
+               TreeTestResult ttr = createCompleteTreeTestResult();\r
+               ResultPartRequest req = createSimpleResultPartRequest(ttr);\r
+\r
+               StringResult xml = marshalAndValidate(req);\r
+\r
+               ResultPartRequest reqUnm = unmarshal(xml);\r
+\r
+               UnitTestTreeUtil\r
+                               .assertPart(req.getResultPart(), reqUnm.getResultPart());\r
+       }\r
+\r
+       public void testCloseTreeTestResultRequest() throws Exception {\r
+               TreeTestResult ttr = createCompleteTreeTestResult();\r
+               ttr.close();\r
+\r
+               CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr\r
+                               .getUuid(), ttr.getCloseDate());\r
+\r
+               StringResult xml = marshalAndValidate(req);\r
+\r
+               CloseTreeTestResultRequest reqUnm = unmarshal(xml);\r
+\r
+               assertEquals(ttr.getUuid(), reqUnm.getResultUuid());\r
+               assertDateSec(ttr.getCloseDate(), ttr.getCloseDate());\r
+       }\r
+}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCollectionCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/castor/TreeTestResultCollectionCastorTest.java
new file mode 100644 (file)
index 0000000..242845a
--- /dev/null
@@ -0,0 +1,33 @@
+package org.argeo.slc.castor;\r
+\r
+import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
+\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.core.test.tree.TreeTestResultCollection;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
+import org.springframework.xml.transform.StringResult;\r
+\r
+public class TreeTestResultCollectionCastorTest extends AbstractCastorTestCase {\r
+       public void testMarshUnmarsh() throws Exception {\r
+               TreeTestResult ttr = createCompleteTreeTestResult();\r
+               TreeTestResult ttr2 = createCompleteTreeTestResult();\r
+\r
+               TreeTestResultCollection ttrc = new TreeTestResultCollection();\r
+               ttrc.setId("testCollection");\r
+               ttrc.getResults().add(ttr);\r
+               ttrc.getResults().add(ttr2);\r
+\r
+               StringResult xml = marshalAndValidate(ttrc);\r
+\r
+               TreeTestResultCollection ttrcUnm = unmarshal(xml);\r
+\r
+               assertEquals(ttrc.getId(), ttrcUnm.getId());\r
+               assertEquals(ttrc.getResults().size(), ttrcUnm.getResults().size());\r
+               for (TreeTestResult ttrT : ttrc.getResults()) {\r
+                       if (ttrT.getUuid().equals(ttr.getUuid()))\r
+                               UnitTestTreeUtil.assertTreeTestResult(ttr, ttrT);\r
+                       else\r
+                               UnitTestTreeUtil.assertTreeTestResult(ttr2, ttrT);\r
+               }\r
+       }\r
+}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java
deleted file mode 100644 (file)
index 5c70382..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-package org.argeo.slc.core.process;\r
-\r
-import java.io.IOException;\r
-import java.io.StringReader;\r
-import java.text.SimpleDateFormat;\r
-import java.util.UUID;\r
-\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-import org.apache.commons.io.IOUtils;\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.argeo.slc.msg.process.SlcExecutionRequest;\r
-import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
-import org.argeo.slc.process.SlcExecution;\r
-import org.argeo.slc.process.SlcExecutionStep;\r
-import org.argeo.slc.unit.AbstractSpringTestCase;\r
-import org.argeo.slc.unit.UnitXmlUtils;\r
-import org.argeo.slc.unit.process.SlcExecutionTestUtils;\r
-import org.springframework.oxm.Marshaller;\r
-import org.springframework.oxm.Unmarshaller;\r
-import org.springframework.xml.transform.StringResult;\r
-import org.springframework.xml.transform.StringSource;\r
-import org.springframework.xml.validation.XmlValidator;\r
-\r
-public class SlcExecutionCastorTest extends AbstractSpringTestCase {\r
-       private Log log = LogFactory.getLog(getClass());\r
-\r
-       private Marshaller marshaller;\r
-       private Unmarshaller unmarshaller;\r
-\r
-       @Override\r
-       public void setUp() {\r
-               marshaller = getBean(Marshaller.class);\r
-               unmarshaller = getBean(Unmarshaller.class);\r
-       }\r
-\r
-       public void testMarshalling() throws Exception {\r
-               SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
-\r
-               SlcExecutionRequest msgSave = new SlcExecutionRequest();\r
-               msgSave.setSlcExecution(slcExec);\r
-\r
-               String msgSaveXml = marshallAndLog(marshaller, msgSave);\r
-\r
-               SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");\r
-               SlcExecutionStep step0 = new SlcExecutionStep();\r
-               step0.setUuid(UUID.randomUUID().toString());\r
-               step0.setBegin(sdf.parse("2008-04-17 18:21"));\r
-               step0.setType("LOG");\r
-               step0.addLog("A log message\nand another line");\r
-\r
-               SlcExecutionStep step1 = new SlcExecutionStep();\r
-               step1.setUuid(UUID.randomUUID().toString());\r
-               step1.setBegin(sdf.parse("2008-04-17 18:25"));\r
-               step1.setType("LOG");\r
-               step1.addLog("A nother log message");\r
-\r
-               SlcExecutionStepsRequest msgNotif = new SlcExecutionStepsRequest();\r
-               msgNotif.addStep(step0);\r
-               msgNotif.addStep(step1);\r
-               msgNotif.setSlcExecutionUuid(slcExec.getUuid());\r
-\r
-               String msgNotifXml = marshallAndLog(marshaller, msgNotif);\r
-\r
-               SlcExecutionRequest msgSaveUnm = unmarshall(unmarshaller, msgSaveXml);\r
-               assertNotNull(msgSaveUnm);\r
-               SlcExecutionTestUtils.assertSlcExecution(slcExec, msgSaveUnm\r
-                               .getSlcExecution());\r
-\r
-               SlcExecutionStepsRequest msgNotifUnm = unmarshall(unmarshaller,\r
-                               msgNotifXml);\r
-               assertNotNull(msgNotifUnm);\r
-               assertEquals(slcExec.getUuid(), msgNotifUnm.getSlcExecutionUuid());\r
-               assertEquals(2, msgNotifUnm.getSteps().size());\r
-               SlcExecutionTestUtils.assertSlcExecutionStep(step0, msgNotifUnm\r
-                               .getSteps().get(0));\r
-               SlcExecutionTestUtils.assertSlcExecutionStep(step1, msgNotifUnm\r
-                               .getSteps().get(1));\r
-\r
-               SlcExecution slcExecUnm = msgSaveUnm.getSlcExecution();\r
-               slcExecUnm.getSteps().addAll(msgNotifUnm.getSteps());\r
-\r
-               SlcExecutionRequest msgUpdate = new SlcExecutionRequest();\r
-               msgUpdate.setSlcExecution(slcExecUnm);\r
-               String msgUpdateXml = marshallAndLog(marshaller, msgUpdate);\r
-\r
-               SlcExecutionRequest msgUpdateUnm = unmarshall(unmarshaller,\r
-                               msgUpdateXml);\r
-               assertNotNull(msgUpdateUnm);\r
-       }\r
-\r
-       private String marshallAndLog(Marshaller marshaller, Object obj)\r
-                       throws IOException {\r
-               StringResult xml = new StringResult();\r
-               marshaller.marshal(obj, xml);\r
-               log.info("Marshalled object: " + xml);\r
-\r
-               UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),\r
-                               new StringSource(xml.toString()));\r
-\r
-               return xml.toString();\r
-       }\r
-\r
-       private <T> T unmarshall(Unmarshaller unmarshaller, String xml)\r
-                       throws IOException {\r
-               StringReader reader = new StringReader(xml);\r
-               Object obj = unmarshaller.unmarshal(new StreamSource(reader));\r
-               IOUtils.closeQuietly(reader);\r
-               return (T) obj;\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/structure/tree/TreeSPathTest.java
deleted file mode 100644 (file)
index f24abc5..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-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(\r
-                               "//test///dir////"));\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java
deleted file mode 100644 (file)
index baf8e3b..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-package org.argeo.slc.core.test.tree;\r
-\r
-import static org.argeo.slc.unit.UnitUtils.assertDateSec;\r
-import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
-import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createSimpleResultPartRequest;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\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.unit.AbstractSpringTestCase;\r
-import org.argeo.slc.unit.UnitXmlUtils;\r
-import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
-import org.springframework.oxm.Marshaller;\r
-import org.springframework.oxm.Unmarshaller;\r
-import org.springframework.xml.transform.StringResult;\r
-import org.springframework.xml.transform.StringSource;\r
-import org.springframework.xml.validation.XmlValidator;\r
-\r
-public class TreeTestResultCastorTest extends AbstractSpringTestCase {\r
-       private Log log = LogFactory.getLog(getClass());\r
-\r
-       private Marshaller marshaller;\r
-       private Unmarshaller unmarshaller;\r
-\r
-       @Override\r
-       public void setUp() {\r
-               marshaller = getBean(Marshaller.class);\r
-               unmarshaller = getBean(Unmarshaller.class);\r
-       }\r
-\r
-       public void testMarshUnmarsh() throws Exception {\r
-               TreeTestResult ttr = createCompleteTreeTestResult();\r
-\r
-               StringResult xml = marshallAndValidate(ttr);\r
-\r
-               TreeTestResult ttrUnm = (TreeTestResult) unmarshaller\r
-                               .unmarshal(new StringSource(xml.toString()));\r
-\r
-               UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);\r
-       }\r
-\r
-       public void testCreateTreeTestResultRequest() throws Exception {\r
-               CreateTreeTestResultRequest req = new CreateTreeTestResultRequest();\r
-               req.setTreeTestResult(createCompleteTreeTestResult());\r
-\r
-               StringResult xml = marshallAndValidate(req);\r
-\r
-               CreateTreeTestResultRequest reqUnm = (CreateTreeTestResultRequest) unmarshaller\r
-                               .unmarshal(new StringSource(xml.toString()));\r
-\r
-               UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm\r
-                               .getTreeTestResult());\r
-       }\r
-\r
-       public void testResultPartRequest() throws Exception {\r
-               TreeTestResult ttr = createCompleteTreeTestResult();\r
-               ResultPartRequest req = createSimpleResultPartRequest(ttr);\r
-\r
-               StringResult xml = marshallAndValidate(req);\r
-\r
-               ResultPartRequest reqUnm = (ResultPartRequest) unmarshaller\r
-                               .unmarshal(new StringSource(xml.toString()));\r
-\r
-               UnitTestTreeUtil\r
-                               .assertPart(req.getResultPart(), reqUnm.getResultPart());\r
-       }\r
-\r
-       public void testCloseTreeTestResultRequest() throws Exception {\r
-               TreeTestResult ttr = createCompleteTreeTestResult();\r
-               ttr.close();\r
-\r
-               CloseTreeTestResultRequest req = new CloseTreeTestResultRequest(ttr\r
-                               .getUuid(), ttr.getCloseDate());\r
-\r
-               StringResult xml = marshallAndValidate(req);\r
-\r
-               CloseTreeTestResultRequest reqUnm = (CloseTreeTestResultRequest) unmarshaller\r
-                               .unmarshal(new StringSource(xml.toString()));\r
-\r
-               assertEquals(ttr.getUuid(), reqUnm.getResultUuid());\r
-               assertDateSec(ttr.getCloseDate(), ttr.getCloseDate());\r
-       }\r
-\r
-       private StringResult marshallAndValidate(Object obj) throws Exception {\r
-               StringResult xml = new StringResult();\r
-               marshaller.marshal(obj, xml);\r
-\r
-               log.info("Marshalled ResultPart Request: " + xml);\r
-\r
-               UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),\r
-                               new StringSource(xml.toString()));\r
-               return xml;\r
-       }\r
-}\r
diff --git a/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCollectionCastorTest.java b/runtime/org.argeo.slc.support.castor/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCollectionCastorTest.java
deleted file mode 100644 (file)
index 29ee30d..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.argeo.slc.core.test.tree;\r
-\r
-import static org.argeo.slc.unit.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
-\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-import org.argeo.slc.unit.AbstractSpringTestCase;\r
-import org.argeo.slc.unit.UnitXmlUtils;\r
-import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
-import org.springframework.oxm.Marshaller;\r
-import org.springframework.oxm.Unmarshaller;\r
-import org.springframework.xml.transform.StringResult;\r
-import org.springframework.xml.transform.StringSource;\r
-import org.springframework.xml.validation.XmlValidator;\r
-\r
-public class TreeTestResultCollectionCastorTest extends AbstractSpringTestCase {\r
-       private Log log = LogFactory.getLog(getClass());\r
-\r
-       private Marshaller marshaller;\r
-       private Unmarshaller unmarshaller;\r
-\r
-       @Override\r
-       public void setUp() {\r
-               marshaller = getBean(Marshaller.class);\r
-               unmarshaller = getBean(Unmarshaller.class);\r
-       }\r
-\r
-       public void testMarshUnmarsh() throws Exception {\r
-               TreeTestResult ttr = createCompleteTreeTestResult();\r
-               TreeTestResult ttr2 = createCompleteTreeTestResult();\r
-\r
-               TreeTestResultCollection ttrc = new TreeTestResultCollection();\r
-               ttrc.setId("testCollection");\r
-               ttrc.getResults().add(ttr);\r
-               ttrc.getResults().add(ttr2);\r
-\r
-               StringResult xml = marshallAndValidate(ttrc);\r
-\r
-               TreeTestResultCollection ttrcUnm = (TreeTestResultCollection) unmarshaller\r
-                               .unmarshal(new StringSource(xml.toString()));\r
-\r
-               assertEquals(ttrc.getId(), ttrcUnm.getId());\r
-               assertEquals(ttrc.getResults().size(), ttrcUnm.getResults().size());\r
-               for (TreeTestResult ttrT : ttrc.getResults()) {\r
-                       if (ttrT.getUuid().equals(ttr.getUuid()))\r
-                               UnitTestTreeUtil.assertTreeTestResult(ttr, ttrT);\r
-                       else\r
-                               UnitTestTreeUtil.assertTreeTestResult(ttr2, ttrT);\r
-               }\r
-       }\r
-\r
-       private StringResult marshallAndValidate(Object obj) throws Exception {\r
-               StringResult xml = new StringResult();\r
-               marshaller.marshal(obj, xml);\r
-\r
-               log.info("Marshalled ResultPart Request: " + xml);\r
-\r
-               UnitXmlUtils.assertXmlValidation(getBean(XmlValidator.class),\r
-                               new StringSource(xml.toString()));\r
-               return xml;\r
-       }\r
-}\r
index 7a89af927b53b15d9dc4e646438344721faf0e67..9601c3301d8d0fb55ab424a4332eae9fa6717ec8 100644 (file)
@@ -1,11 +1,11 @@
+<?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
-<!-- TODO: remove this file\r
        <import\r
-               resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
+               resource="classpath:/org/argeo/slc/xml/spring/applicationContext.xml" />\r
        <import\r
-               resource="classpath:/org/argeo/slc/ws/client/spring/applicationContext.xml" />\r
--->\r
-</beans>\r
+               resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />\r
+\r
+</beans>
\ No newline at end of file
diff --git a/runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/process/applicationContext.xml b/runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/process/applicationContext.xml
deleted file mode 100644 (file)
index 899daf5..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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
-\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
diff --git a/runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml b/runtime/org.argeo.slc.support.castor/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml
deleted file mode 100644 (file)
index 9601c33..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?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/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