]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - org.argeo.slc.core/src/test/java/org/argeo/slc/core/process/SlcExecutionCastorTest.java
Update XML formats
[gpl/argeo-slc.git] / org.argeo.slc.core / src / test / java / org / argeo / slc / core / process / SlcExecutionCastorTest.java
index 105ef79836df187a426d28cbbb1ef518d01c5bad..062fbb003e163d9d559b12f4d9749b264dbf073a 100644 (file)
@@ -16,8 +16,13 @@ import org.apache.commons.logging.LogFactory;
 import org.argeo.slc.msg.process.SlcExecutionRequest;\r
 import org.argeo.slc.msg.process.SlcExecutionStepsRequest;\r
 import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.UnitXmlUtils;\r
+\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.xsd.XsdSchema;\r
 \r
 public class SlcExecutionCastorTest extends AbstractSpringTestCase {\r
        private Log log = LogFactory.getLog(getClass());\r
@@ -25,6 +30,7 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase {
        private Marshaller marshaller;\r
        private Unmarshaller unmarshaller;\r
 \r
+       @Override\r
        public void setUp() {\r
                marshaller = getBean("marshaller");\r
                unmarshaller = getBean("marshaller");\r
@@ -79,7 +85,7 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase {
                SlcExecutionRequest msgUpdate = new SlcExecutionRequest();\r
                msgUpdate.setSlcExecution(slcExecUnm);\r
                String msgUpdateXml = marshallAndLog(marshaller, msgUpdate);\r
-               \r
+\r
                SlcExecutionRequest msgUpdateUnm = unmarshall(unmarshaller,\r
                                msgUpdateXml);\r
                assertNotNull(msgUpdateUnm);\r
@@ -87,12 +93,15 @@ public class SlcExecutionCastorTest extends AbstractSpringTestCase {
 \r
        private String marshallAndLog(Marshaller marshaller, Object obj)\r
                        throws IOException {\r
-               StringWriter writer = new StringWriter();\r
-               marshaller.marshal(obj, new StreamResult(writer));\r
-               String xml = writer.toString();\r
-               log.info(xml);\r
-               IOUtils.closeQuietly(writer);\r
-               return xml;\r
+               StringResult xml = new StringResult();\r
+               marshaller.marshal(obj, xml);\r
+               log.info("Marshalled object: " + xml);\r
+\r
+               XsdSchema schema = getBean("schema");\r
+               UnitXmlUtils.assertXsdSchemaValidation(schema, new StringSource(xml\r
+                               .toString()));\r
+\r
+               return xml.toString();\r
        }\r
 \r
        private <T> T unmarshall(Unmarshaller unmarshaller, String xml)\r