X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.slc.hibernate%2Fsrc%2Ftest%2Fjava%2Forg%2Fargeo%2Fslc%2Fhibernate%2Fprocess%2FSlcExecutionHibernateTest.java;h=2bbb092d51107a0e6d6e1ba536be49975527bbf3;hb=ad49e4ffc69a3c67dee95b9d333d9282ab2c5e82;hp=f821dbd9b5329acf6b629425e9272eacf514ad5f;hpb=12b475b97f9d3897ecb685f6ead364c8fda0cb6d;p=gpl%2Fargeo-slc.git diff --git a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java index f821dbd9b..2bbb092d5 100644 --- a/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java +++ b/org.argeo.slc.hibernate/src/test/java/org/argeo/slc/hibernate/process/SlcExecutionHibernateTest.java @@ -1,14 +1,18 @@ package org.argeo.slc.hibernate.process; +import java.sql.SQLException; import java.util.List; import org.argeo.slc.core.process.SlcExecution; import org.argeo.slc.core.process.SlcExecutionStep; -import org.argeo.slc.core.process.SlcExecutionTestUtils; import org.argeo.slc.dao.process.SlcExecutionDao; -import org.argeo.slc.unit.AbstractSpringTestCase; +import org.argeo.slc.hibernate.unit.HibernateTestCase; +import org.argeo.slc.unit.process.SlcExecutionTestUtils; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.springframework.orm.hibernate3.HibernateCallback; -public class SlcExecutionHibernateTest extends AbstractSpringTestCase { +public class SlcExecutionHibernateTest extends HibernateTestCase { public void testSave() { SlcExecutionDao dao = getBean(SlcExecutionDao.class); @@ -20,12 +24,7 @@ public class SlcExecutionHibernateTest extends AbstractSpringTestCase { dao.create(slcExec); SlcExecution slcExecPersisted = dao.getSlcExecution(slcExec.getUuid()); - SlcExecutionTestUtils.assertSlcExecution(slcExec, slcExecPersisted); - assertEquals(2, slcExecPersisted.getSteps().size()); - SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(0), - slcExecPersisted.getSteps().get(0)); - SlcExecutionTestUtils.assertSlcExecutionStep(slcExec.getSteps().get(1), - slcExecPersisted.getSteps().get(1)); + assertSlcExecution(slcExec, slcExecPersisted); } public void testModify() { @@ -39,31 +38,46 @@ public class SlcExecutionHibernateTest extends AbstractSpringTestCase { dao.create(slcExec); // slcExecution retrieval and update - SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec.getUuid()); - - List logLineListStep0 = slcExecRetrieved.getSteps().get(0) - .getLogLines(); - for (String logLine : logLineListStep0) - logLine = logLine + "appended Log text"; - - slcExecRetrieved.getSteps().get(0).setLogLines(logLineListStep0); - slcExecRetrieved.getSteps().add( - new SlcExecutionStep("LOG", "Three \n log \n lines")); + final SlcExecution slcExecRetrieved = dao.getSlcExecution(slcExec + .getUuid()); + + getHibernateTemplate().execute(new HibernateCallback() { + + public Object doInHibernate(Session session) + throws HibernateException, SQLException { + session.refresh(slcExecRetrieved); + List logLineListStep0 = slcExecRetrieved.getSteps() + .get(0).getLogLines(); + for (String logLine : logLineListStep0) + logLine = logLine + "appended Log text"; + + slcExecRetrieved.getSteps().get(0) + .setLogLines(logLineListStep0); + slcExecRetrieved.getSteps().add( + new SlcExecutionStep("LOG", "Three \n log \n lines")); + return null; + } + }); dao.update(slcExecRetrieved); // updated slcExecution retrieval and comparison SlcExecution slcExecUpdated = dao.getSlcExecution(slcExec.getUuid()); - SlcExecutionTestUtils.assertSlcExecution(slcExecRetrieved, - slcExecUpdated); - assertEquals(3, slcExecUpdated.getSteps().size()); - SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps() - .get(0), slcExecRetrieved.getSteps().get(0)); - SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps() - .get(1), slcExecRetrieved.getSteps().get(1)); - SlcExecutionTestUtils.assertSlcExecutionStep(slcExecUpdated.getSteps() - .get(2), slcExecRetrieved.getSteps().get(2)); + assertSlcExecution(slcExecRetrieved, slcExecUpdated); + } + + public void assertSlcExecution(final SlcExecution expected, + final SlcExecution persisted) { + getHibernateTemplate().execute(new HibernateCallback() { + + public Object doInHibernate(Session session) + throws HibernateException, SQLException { + session.refresh(persisted); + SlcExecutionTestUtils.assertSlcExecution(expected, persisted); + return null; + } + }); } @Override