+++ /dev/null
-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.dao.process.SlcExecutionDao;\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 HibernateTestCase {\r
-\r
- public void testSave() {\r
- SlcExecutionDao dao = getBean(SlcExecutionDao.class);\r
-\r
- SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
- slcExec.getSteps().add(new SlcExecutionStep("A log line"));\r
- slcExec.getSteps().add(new SlcExecutionStep("Two log\nlines"));\r
-\r
- dao.create(slcExec);\r
-\r
- SlcExecution slcExecPersisted = dao.getSlcExecution(slcExec.getUuid());\r
- assertSlcExecution(slcExec, slcExecPersisted);\r
- }\r
-\r
- public void testModify() {\r
- SlcExecutionDao dao = getBean(SlcExecutionDao.class);\r
-\r
- // slcExecution Creation\r
- SlcExecution slcExec = SlcExecutionTestUtils.createSimpleSlcExecution();\r
- slcExec.getSteps().add(new SlcExecutionStep("A log line"));\r
- slcExec.getSteps().add(new SlcExecutionStep("Two log\nlines"));\r
-\r
- dao.create(slcExec);\r
-\r
- // slcExecution retrieval and update\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("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
- 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
- protected String getApplicationContextLocation() {\r
- return "org/argeo/slc/hibernate/applicationContext.xml";\r
- }\r
-\r
-}\r