package org.argeo.slc.hibernate.test.tree;\r
\r
+import java.sql.SQLException;\r
import java.util.SortedSet;\r
import java.util.TreeSet;\r
\r
+import org.springframework.orm.hibernate3.HibernateCallback;\r
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
import org.argeo.slc.core.test.tree.TreeTestResultCollection;\r
import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;\r
+import org.hibernate.HibernateException;\r
+import org.hibernate.Session;\r
+import org.hibernate.action.Executable;\r
\r
public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport\r
implements TreeTestResultCollectionDao {\r
.find("from TreeTestResultCollection"));\r
}\r
\r
+ public void addResultToCollection(final TreeTestResultCollection ttrc,\r
+ final String resultUuid) {\r
+ getHibernateTemplate().execute(new HibernateCallback() {\r
+ public Object doInHibernate(Session session)\r
+ throws HibernateException, SQLException {\r
+ session.refresh(ttrc);\r
+ TreeTestResult ttr = (TreeTestResult) session.get(\r
+ TreeTestResult.class, resultUuid);\r
+ ttrc.getResults().add(ttr);\r
+ session.update(ttrc);\r
+ return ttrc;\r
+ }\r
+ });\r
+ }\r
+\r
+ public void removeResultFromCollection(final TreeTestResultCollection ttrc,\r
+ final String resultUuid) {\r
+ getHibernateTemplate().execute(new HibernateCallback() {\r
+ public Object doInHibernate(Session session)\r
+ throws HibernateException, SQLException {\r
+ session.refresh(ttrc);\r
+ TreeTestResult ttr = (TreeTestResult) session.get(\r
+ TreeTestResult.class, resultUuid);\r
+ if (ttrc.getResults().remove(ttr))\r
+ session.update(ttrc);\r
+ return ttrc;\r
+ }\r
+ });\r
+ }\r
+\r
}\r