package org.argeo.slc.hibernate.process;\r
\r
+import java.sql.SQLException;\r
import java.util.List;\r
\r
import org.argeo.slc.core.process.SlcExecution;\r
import org.argeo.slc.core.process.SlcExecutionStep;\r
-import org.argeo.slc.core.process.SlcExecutionTestUtils;\r
import org.argeo.slc.dao.process.SlcExecutionDao;\r
-import org.argeo.slc.unit.AbstractSpringTestCase;\r
+import org.argeo.slc.hibernate.unit.HibernateTestCase;\r
+import org.argeo.slc.unit.process.SlcExecutionTestUtils;\r
+import org.hibernate.HibernateException;\r
+import org.hibernate.Session;\r
+import org.springframework.orm.hibernate3.HibernateCallback;\r
\r
-public class SlcExecutionHibernateTest extends AbstractSpringTestCase {\r
+public class SlcExecutionHibernateTest extends HibernateTestCase {\r
\r
public void testSave() {\r
SlcExecutionDao dao = getBean(SlcExecutionDao.class);\r
dao.create(slcExec);\r
\r
SlcExecution slcExecPersisted = dao.getSlcExecution(slcExec.getUuid());\r
- SlcExecutionTestUtils.assertSlcExecution(slcExec, slcExecPersisted);\r
- assertEquals(2, slcExecPersisted.getSteps().size());\r
- SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(0),\r
- slcExecPersisted.getSteps().get(0));\r
- SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(1),\r
- slcExecPersisted.getSteps().get(1));\r
+ assertSlcExecution(slcExec, slcExecPersisted);\r
}\r
\r
public void testModify() {\r
dao.create(slcExec);\r
\r
// slcExecution retrieval and update\r
- SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec.getUuid());\r
-\r
- List<String> logLineListStep0 = slcExecRetrieved.getSteps().get(0)\r
- .getLogLines();\r
- for (String logLine : logLineListStep0)\r
- logLine = logLine + "appended Log text";\r
-\r
- slcExecRetrieved.getSteps().get(0).setLogLines(logLineListStep0);\r
- slcExecRetrieved.getSteps().add(\r
- new SlcExecutionStep("LOG", "Three \n log \n lines"));\r
+ final SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec\r
+ .getUuid());\r
+\r
+ getHibernateTemplate().execute(new HibernateCallback() {\r
+\r
+ public Object doInHibernate(Session session)\r
+ throws HibernateException, SQLException {\r
+ session.refresh(slcExecRetrieved);\r
+ List<String> logLineListStep0 = slcExecRetrieved.getSteps()\r
+ .get(0).getLogLines();\r
+ for (String logLine : logLineListStep0)\r
+ logLine = logLine + "appended Log text";\r
+\r
+ slcExecRetrieved.getSteps().get(0)\r
+ .setLogLines(logLineListStep0);\r
+ slcExecRetrieved.getSteps().add(\r
+ new SlcExecutionStep("LOG", "Three \n log \n lines"));\r
+ return null;\r
+ }\r
+ });\r
\r
dao.update(slcExecRetrieved);\r
\r
// updated slcExecution retrieval and comparison\r
SlcExecution slcExecUpdated = dao.getSlcExecution(slcExec.getUuid());\r
\r
- SlcExecutionTestUtils.assertSlcExecution(slcExecRetrieved,\r
- slcExecUpdated);\r
- assertEquals(3, slcExecUpdated.getSteps().size());\r
- SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
- .get(0), slcExecRetrieved.getSteps().get(0));\r
- SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
- .get(1), slcExecRetrieved.getSteps().get(1));\r
- SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps()\r
- .get(2), slcExecRetrieved.getSteps().get(2));\r
+ assertSlcExecution(slcExecRetrieved, slcExecUpdated);\r
+ }\r
+\r
+ public void assertSlcExecution(final SlcExecution expected,\r
+ final SlcExecution persisted) {\r
+ getHibernateTemplate().execute(new HibernateCallback() {\r
+\r
+ public Object doInHibernate(Session session)\r
+ throws HibernateException, SQLException {\r
+ session.refresh(persisted);\r
+ SlcExecutionTestUtils.assertSlcExecution(expected, persisted);\r
+ return null;\r
+ }\r
+ });\r
}\r
\r
@Override\r