]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java
Branch hibernate project from core
[gpl/argeo-slc.git] / org.argeo.slc.hibernate / src / main / java / org / argeo / slc / hibernate / test / tree / TestResultDaoHibernate.java
1 package org.argeo.slc.hibernate.test.tree;
2
3 import java.util.Date;
4 import java.util.List;
5
6 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
7
8 import org.argeo.slc.core.SlcException;
9 import org.argeo.slc.core.structure.tree.TreeSPath;
10 import org.argeo.slc.core.test.NumericTRId;
11 import org.argeo.slc.core.test.TestResult;
12 import org.argeo.slc.core.test.TestResultId;
13 import org.argeo.slc.core.test.tree.TreeTestResult;
14 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
15
16 /**
17 * The Hibernate implementation for tree-based result of the test result dao.
18 *
19 * @see TreeTestResult
20 */
21 public class TestResultDaoHibernate extends HibernateDaoSupport implements
22 TreeTestResultDao {
23
24 public void create(TestResult testResult) {
25 getHibernateTemplate().save(testResult);
26 }
27
28 public void update(TestResult testResult) {
29 getHibernateTemplate().saveOrUpdate(testResult);
30 }
31
32 public TreeTestResult getTestResult(String uuid) {
33 List<?> list = getHibernateTemplate().find(
34 "from TreeTestResult where uuid=?", uuid);
35 if (list.size() == 0) {
36 return null;
37 } else {
38 return (TreeTestResult) list.get(0);
39 }
40
41 }
42
43 public List<TreeTestResult> listTestResults() {
44 return (List<TreeTestResult>) getHibernateTemplate().find(
45 "from TreeTestResult");
46 }
47
48 public List<TreeTestResult> listResults(TreeSPath path) {
49 List<TreeTestResult> list = getHibernateTemplate().find(
50 "from TreeTestResult res where ? in indices(res.resultParts)",
51 path.getAsUniqueString());
52 return list;
53 }
54
55 public void close(String id, Date closeDate) {
56 // TreeTestResult ttr = (TreeTestResult) getHibernateTemplate().load(
57 // TreeTestResult.class, id);
58 TreeTestResult ttr = getTestResult(id);
59 if (ttr != null) {
60 ttr.setCloseDate(closeDate);
61 getHibernateTemplate().update(ttr);
62 } else {
63 throw new SlcException("Result with id " + id
64 + " could not be closed because it was not found.");
65 }
66 }
67
68 }