INtroduce tree test result web service (not working yet)
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 29 Apr 2008 22:38:35 +0000 (22:38 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 29 Apr 2008 22:38:35 +0000 (22:38 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@1083 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartsRequest.java [new file with mode: 0644]
org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/TreeTestResultRequest.java [new file with mode: 0644]
org.argeo.slc.core/src/main/resources/org/argeo/slc/castor/test/tree/mapping.xml
org.argeo.slc.core/src/main/resources/org/argeo/slc/xml/slc.xsd
org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultCastorTest.java
org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java [new file with mode: 0644]
org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml [new file with mode: 0644]
org.argeo.slc.core/src/test/resources/org/argeo/slc/core/process/execution.xml
org.argeo.slc.core/src/test/resources/org/argeo/slc/core/test/tree/applicationContext.xml

diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartsRequest.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/ResultPartsRequest.java
new file mode 100644 (file)
index 0000000..542620d
--- /dev/null
@@ -0,0 +1,38 @@
+package org.argeo.slc.msg.test.tree;\r
+\r
+import java.util.Map;\r
+import java.util.TreeMap;\r
+\r
+import org.argeo.slc.core.structure.StructureElement;\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.tree.PartSubList;\r
+\r
+public class ResultPartsRequest {\r
+       private String resultUuid;\r
+       private Map<TreeSPath, PartSubList> resultParts = new TreeMap<TreeSPath, PartSubList>();\r
+       private Map<TreeSPath, StructureElement> elements = new TreeMap<TreeSPath, StructureElement>();\r
+\r
+       public String getResultUuid() {\r
+               return resultUuid;\r
+       }\r
+\r
+       public void setResultUuid(String resultUuid) {\r
+               this.resultUuid = resultUuid;\r
+       }\r
+\r
+       public Map<TreeSPath, PartSubList> getResultParts() {\r
+               return resultParts;\r
+       }\r
+\r
+       public void setResultParts(Map<TreeSPath, PartSubList> resultParts) {\r
+               this.resultParts = resultParts;\r
+       }\r
+\r
+       public Map<TreeSPath, StructureElement> getElements() {\r
+               return elements;\r
+       }\r
+\r
+       public void setElements(Map<TreeSPath, StructureElement> elements) {\r
+               this.elements = elements;\r
+       }\r
+}\r
diff --git a/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/TreeTestResultRequest.java b/org.argeo.slc.core/src/main/java/org/argeo/slc/msg/test/tree/TreeTestResultRequest.java
new file mode 100644 (file)
index 0000000..c550541
--- /dev/null
@@ -0,0 +1,15 @@
+package org.argeo.slc.msg.test.tree;\r
+\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+\r
+public class TreeTestResultRequest {\r
+       private TreeTestResult treeTestResult;\r
+\r
+       public TreeTestResult getTreeTestResult() {\r
+               return treeTestResult;\r
+       }\r
+\r
+       public void setTreeTestResult(TreeTestResult treeTestResult) {\r
+               this.treeTestResult = treeTestResult;\r
+       }\r
+}\r
index 45d9dd9cf6012860662bcd3cd8f6b659f38a8fe9..836b3789cdc4e6936e9f386dde69ec8614b0a574 100644 (file)
                        <bind-xml node="attribute" />\r
                </field>\r
        </class>\r
+\r
+       <class name="org.argeo.slc.msg.test.tree.TreeTestResultRequest">\r
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"\r
+                       ns-prefix="slc" />\r
+               <field name="treeTestResult"\r
+                       type="org.argeo.slc.core.test.tree.TreeTestResult" />\r
+       </class>\r
 </mapping>
\ No newline at end of file
index 69700597fb26205fcdf14555cd6a2da7c4250f07..d7e09650cfcaaec858e57306c16c683ab26f9ff7 100644 (file)
                <xs:attribute name="name" type="xs:string" use="required" />\r
        </xs:complexType>\r
 \r
+       <!-- TREE TEST RESULT -->\r
+       <xs:element name="tree-test-result-request">\r
+               <xs:complexType>\r
+                       <xs:all>\r
+                               <xs:element name="tree-test-result"\r
+                                       type="slc:TreeTestResultType" />\r
+                       </xs:all>\r
+               </xs:complexType>\r
+       </xs:element>\r
+\r
        <!-- SLC EXECUTION -->\r
        <xs:element name="slc-execution" type="slc:SlcExecutionType" />\r
        <xs:complexType name="SlcExecutionType">\r
index 8479c95ca5a91622675aab7e9d2989304e28a669..fbce288c1d6418f8f18449482d6cb2ea73f18bd0 100644 (file)
@@ -11,17 +11,26 @@ import org.apache.commons.logging.LogFactory;
 \r
 import static org.argeo.slc.core.test.tree.TreeTestResultTestUtils.createCompleteTreeTestResult;\r
 \r
+import org.argeo.slc.msg.test.tree.TreeTestResultRequest;\r
 import org.argeo.slc.unit.AbstractSpringTestCase;\r
 import org.argeo.slc.unit.UnitXmlUtils;\r
 import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\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");\r
+               unmarshaller = getBean("marshaller");\r
+       }\r
+\r
 \r
-       public void testMarshUnmarsh() throws Exception {\r
-               Marshaller marshaller = getBean("marshaller");\r
-               Unmarshaller unmarshaller = getBean("marshaller");\r
 \r
+       public void testMarshUnmarsh() throws Exception {\r
                TreeTestResult ttr = createCompleteTreeTestResult();\r
 \r
                StringResult xml = new StringResult();\r
@@ -37,6 +46,24 @@ public class TreeTestResultCastorTest extends AbstractSpringTestCase {
                                .unmarshal(new StringSource(xml.toString()));\r
 \r
                UnitTestTreeUtil.assertTreeTestResult(ttr, ttrUnm);\r
+       }\r
+       \r
+       public void testTreeTestResultRequest() throws Exception{\r
+               TreeTestResultRequest req = new TreeTestResultRequest();\r
+               req.setTreeTestResult(createCompleteTreeTestResult());\r
+               \r
+               StringResult xml = new StringResult();\r
+               marshaller.marshal(req, xml);\r
+\r
+               log.info("Marshalled TreeTestResult Request: " + xml);\r
+\r
+               XsdSchema schema = getBean("schema");\r
+               UnitXmlUtils.assertXsdSchemaValidation(schema, new StringSource(xml\r
+                               .toString()));\r
+\r
+               TreeTestResultRequest reqUnm = (TreeTestResultRequest) unmarshaller\r
+                               .unmarshal(new StringSource(xml.toString()));\r
 \r
+               UnitTestTreeUtil.assertTreeTestResult(req.getTreeTestResult(), reqUnm.getTreeTestResult());\r
        }\r
 }\r
diff --git a/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java b/org.argeo.slc.core/src/test/java/org/argeo/slc/core/test/tree/TreeTestResultWsIntegrationTest.java
new file mode 100644 (file)
index 0000000..3f1df77
--- /dev/null
@@ -0,0 +1,27 @@
+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 org.argeo.slc.msg.test.tree.TreeTestResultRequest;
+import org.argeo.slc.unit.AbstractSpringTestCase;
+
+public class TreeTestResultWsIntegrationTest extends AbstractSpringTestCase {
+       private Log log = LogFactory.getLog(getClass());
+
+       public void testSendSlcExecutionrequest() {
+               WebServiceTemplate template = getBean("webServiceTemplate");
+               TreeTestResultRequest req = new TreeTestResultRequest();
+               req.setTreeTestResult(createCompleteTreeTestResult());
+
+               log.info("Send SlcExecutionRequest for SlcExecution "
+                               + req.getTreeTestResult().getUuid());
+
+               Object resp = template.marshalSendAndReceive(req);
+               log.info("Resp: " + resp);
+       }
+}
diff --git a/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml b/org.argeo.slc.core/src/test/resources/org/argeo/slc/castor/applicationContext.xml
new file mode 100644 (file)
index 0000000..e6334a9
--- /dev/null
@@ -0,0 +1,36 @@
+<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 id="marshaller"\r
+               class="org.springframework.oxm.castor.CastorMarshaller">\r
+               <property name="mappingLocations">\r
+                       <list>\r
+                               <value>\r
+                                       classpath:org/argeo/slc/castor/process/mapping.xml\r
+                               </value>\r
+                               <value>\r
+                                       classpath:org/argeo/slc/castor/test/tree/mapping.xml\r
+                               </value>\r
+                       </list>\r
+               </property>\r
+       </bean>\r
+\r
+       <bean id="webServiceTemplate"\r
+               class="org.springframework.ws.client.core.WebServiceTemplate">\r
+               <constructor-arg ref="messageFactory" />\r
+               <property name="marshaller" ref="marshaller" />\r
+               <property name="unmarshaller" ref="marshaller" />\r
+               <property name="defaultUri"\r
+                       value="http://localhost:8080/org.argeo.slc.webapp/slcService/" />\r
+       </bean>\r
+\r
+       <bean id="messageFactory"\r
+               class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory" />\r
+\r
+       <bean id="schema"\r
+               class="org.springframework.xml.xsd.SimpleXsdSchema">\r
+               <property name="xsd"\r
+                       value="classpath:/org/argeo/slc/xml/slc.xsd" />\r
+       </bean>\r
+</beans>\r
index 81b734c2ef4845e03b6e506453c961592675e3d1..605339877294de47080e439f5cec56632b2a3a77 100644 (file)
@@ -3,6 +3,8 @@
        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/castor/applicationContext.xml" />\r
+\r
        <bean name="executionBuildListener"\r
                class="org.argeo.slc.ant.SlcExecutionBuildListener">\r
                <property name="notifiers">\r
                <property name="template" ref="webServiceTemplate" />\r
        </bean>\r
 \r
-       <bean id="marshaller"\r
-               class="org.springframework.oxm.castor.CastorMarshaller">\r
-               <property name="mappingLocation"\r
-                       value="classpath:org/argeo/slc/castor/process/mapping.xml" />\r
-       </bean>\r
-\r
-       <bean id="webServiceTemplate"\r
-               class="org.springframework.ws.client.core.WebServiceTemplate">\r
-               <constructor-arg ref="messageFactory" />\r
-               <property name="marshaller" ref="marshaller" />\r
-               <property name="unmarshaller" ref="marshaller" />\r
-               <property name="defaultUri"\r
-                       value="http://localhost:8080/org.argeo.slc.webapp/slcService/" />\r
-       </bean>\r
-\r
-       <bean id="messageFactory"\r
-               class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory" />\r
-\r
-       <bean id="schema"\r
-               class="org.springframework.xml.xsd.SimpleXsdSchema">\r
-               <property name="xsd"\r
-                       value="classpath:/org/argeo/slc/xml/slc.xsd" />\r
-       </bean>\r
-\r
 </beans>
\ No newline at end of file
index cbbd540e191e907cf396a69bc3671b8a202d21bc..2ebde04483bb7504400aedaf23dda0d61d321739 100644 (file)
@@ -3,15 +3,7 @@
        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 id="marshaller"\r
-               class="org.springframework.oxm.castor.CastorMarshaller">\r
-               <property name="mappingLocation"\r
-                       value="classpath:org/argeo/slc/castor/test/tree/mapping.xml" />\r
-       </bean>\r
+       <import\r
+               resource="classpath:/org/argeo/slc/castor/applicationContext.xml" />\r
 \r
-       <bean id="schema"\r
-               class="org.springframework.xml.xsd.SimpleXsdSchema">\r
-               <property name="xsd"\r
-                       value="classpath:/org/argeo/slc/xml/slc.xsd" />\r
-       </bean>\r
 </beans>
\ No newline at end of file