-package org.argeo.slc.hibernate.test.tree;\r
-\r
-import java.util.Date;\r
-import java.util.List;\r
-\r
-import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
-\r
-import org.argeo.slc.core.SlcException;\r
-import org.argeo.slc.core.structure.tree.TreeSPath;\r
-import org.argeo.slc.core.test.NumericTRId;\r
-import org.argeo.slc.core.test.TestResult;\r
-import org.argeo.slc.core.test.TestResultId;\r
-import org.argeo.slc.core.test.tree.TreeTestResult;\r
-import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
-\r
-/**\r
- * The Hibernate implementation for tree-based result of the test result dao.\r
- * \r
- * @see TreeTestResult\r
- */\r
-public class TestResultDaoHibernate extends HibernateDaoSupport implements\r
- TreeTestResultDao {\r
-\r
- public void create(TestResult testResult) {\r
- getHibernateTemplate().save(testResult);\r
- }\r
-\r
- public void update(TestResult testResult) {\r
- getHibernateTemplate().saveOrUpdate(testResult);\r
- }\r
-\r
- public TreeTestResult getTestResult(String uuid) {\r
- List<?> list = getHibernateTemplate().find(\r
- "from TreeTestResult where uuid=?", uuid);\r
- if (list.size() == 0) {\r
- return null;\r
- } else {\r
- return (TreeTestResult) list.get(0);\r
- }\r
-\r
- }\r
-\r
- public List<TreeTestResult> listTestResults() {\r
- return (List<TreeTestResult>) getHibernateTemplate().find(\r
- "from TreeTestResult");\r
- }\r
-\r
- public List<TreeTestResult> listResults(TreeSPath path) {\r
- List<TreeTestResult> list = getHibernateTemplate().find(\r
- "from TreeTestResult res where ? in indices(res.resultParts)",\r
- path.getAsUniqueString());\r
- return list;\r
- }\r
-\r
- public void close(String id, Date closeDate) {\r
-// TreeTestResult ttr = (TreeTestResult) getHibernateTemplate().load(\r
-// TreeTestResult.class, id);\r
- TreeTestResult ttr = getTestResult(id);\r
- if (ttr != null) {\r
- ttr.setCloseDate(closeDate);\r
- getHibernateTemplate().update(ttr);\r
- } else {\r
- throw new SlcException("Result with id " + id\r
- + " could not be closed because it was not found.");\r
- }\r
- }\r
-\r
-}\r