package org.argeo.slc.hibernate.process;\r
\r
+import java.sql.SQLException;\r
import java.util.List;\r
\r
+import org.springframework.orm.hibernate3.HibernateCallback;\r
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
\r
+import org.argeo.slc.core.SlcException;\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.hibernate.HibernateException;\r
+import org.hibernate.Session;\r
\r
public class SlcExecutionDaoHibernate extends HibernateDaoSupport implements\r
SlcExecutionDao {\r
SlcExecution.class);\r
}\r
\r
+ public void addSteps(final String slcExecutionId,\r
+ final List<SlcExecutionStep> additionalSteps) {\r
+ getHibernateTemplate().execute(new HibernateCallback() {\r
+\r
+ public Object doInHibernate(Session session)\r
+ throws HibernateException, SQLException {\r
+ SlcExecution slcExecution = (SlcExecution) session.get(\r
+ SlcExecution.class, slcExecutionId);\r
+\r
+ if (slcExecution == null)\r
+ throw new SlcException("Could not find SLC execution "\r
+ + slcExecutionId);\r
+\r
+ slcExecution.getSteps().addAll(additionalSteps);\r
+ session.update(slcExecution);\r
+ return slcExecution;\r
+ }\r
+ });\r
+\r
+ }\r
+\r
}\r