]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.core/src/main/java/org/argeo/slc/hibernate/test/tree/TestResultDaoHibernate.java
98df1e6c9033252ada19bb286d726c796542420a
[gpl/argeo-slc.git] / org.argeo.slc.core / src / main / java / org / argeo / slc / hibernate / test / tree / TestResultDaoHibernate.java
1 package org.argeo.slc.hibernate.test.tree;
2
3 import java.util.List;
4
5 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
6
7 import org.argeo.slc.core.structure.tree.TreeSPath;
8 import org.argeo.slc.core.test.NumericTRId;
9 import org.argeo.slc.core.test.TestResult;
10 import org.argeo.slc.core.test.TestResultId;
11 import org.argeo.slc.core.test.tree.TreeTestResult;
12 import org.argeo.slc.dao.test.tree.TreeTestResultDao;
13
14 /**
15 * The Hibernate implementation for tree-based result of the test result dao.
16 *
17 * @see TreeTestResult
18 */
19 public class TestResultDaoHibernate extends HibernateDaoSupport implements
20 TreeTestResultDao {
21
22 public void create(TestResult testResult) {
23 getHibernateTemplate().save(testResult);
24 }
25
26 public void update(TestResult testResult) {
27 getHibernateTemplate().saveOrUpdate(testResult);
28 }
29
30 public TestResult getTestResult(TestResultId id) {
31 NumericTRId ntrid = (NumericTRId) id;
32 List<?> list = getHibernateTemplate().find(
33 "from TreeTestResult where numericResultId.value=?",
34 ntrid.getValue());
35 if (list.size() == 0) {
36 return null;
37 } else {
38 return (TestResult) list.get(0);
39 }
40
41 }
42
43 public List<TestResult> listTestResults() {
44 return (List<TestResult>) 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);
52 return list;
53 }
54
55 }