--- /dev/null
+package org.argeo.slc.hibernate.test.tree;\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
+\r
+import org.argeo.slc.core.structure.tree.TreeSPath;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.core.test.tree.TreeTestResultTestUtils;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
+import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.unit.test.tree.UnitTestTreeUtil;\r
+\r
+public class CastorTestResultDaoHibernateTest extends AbstractSpringTestCase {\r
+\r
+ public void testUnmarshallAndCreate() throws Exception {\r
+ TreeTestResult ttr = TreeTestResultTestUtils\r
+ .createCompleteTreeTestResult();\r
+\r
+ StringResult result = new StringResult();\r
+ getBean(Marshaller.class).marshal(ttr, result);\r
+\r
+ StringSource source = new StringSource(result.toString());\r
+ TreeTestResult ttrUnm = (TreeTestResult) getBean(Unmarshaller.class)\r
+ .unmarshal(source);\r
+\r
+ for (TreeSPath path : ttrUnm.getResultParts().keySet()) {\r
+ log.debug("Path: " + path.getClass() + ": " + path);\r
+ }\r
+\r
+ TreeTestResultDao ttrDao = getBean(TreeTestResultDao.class);\r
+ ttrDao.create(ttrUnm);\r
+ TreeTestResult ttrPersist = ttrDao.getTestResult(ttr.getUuid());\r
+\r
+ UnitTestTreeUtil.assertTreeTestResult(ttr, ttrPersist);\r
+ }\r
+\r
+ @Override\r
+ protected String getApplicationContextLocation() {\r
+ return "org/argeo/slc/hibernate/withCastor.xml";\r
+ }\r
+\r
+}\r