]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java
Refactor package names
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.hibernate / src / main / java / org / argeo / slc / hibernate / test / tree / TreeTestResultCollectionDaoHibernate.java
1 package org.argeo.slc.hibernate.test.tree;
2
3 import java.sql.SQLException;
4 import java.util.SortedSet;
5 import java.util.TreeSet;
6
7 import org.argeo.slc.core.test.tree.TreeTestResult;
8 import org.argeo.slc.core.test.tree.TreeTestResultCollection;
9 import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;
10 import org.hibernate.HibernateException;
11 import org.hibernate.LockMode;
12 import org.hibernate.Session;
13 import org.springframework.orm.hibernate3.HibernateCallback;
14 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
15
16 public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport
17 implements TreeTestResultCollectionDao {
18
19 public void create(TreeTestResultCollection ttrCollection) {
20 getHibernateTemplate().save(ttrCollection);
21 }
22
23 public TreeTestResultCollection getTestResultCollection(String id) {
24 return (TreeTestResultCollection) getHibernateTemplate().get(
25 TreeTestResultCollection.class, id);
26 }
27
28 public void update(TreeTestResultCollection ttrCollection) {
29 getHibernateTemplate().update(ttrCollection);
30 }
31
32 public SortedSet<TreeTestResultCollection> listCollections() {
33 return new TreeSet<TreeTestResultCollection>(getHibernateTemplate()
34 .find("from TreeTestResultCollection"));
35 }
36
37 public void addResultToCollection(final TreeTestResultCollection ttrc,
38 final String resultUuid) {
39 getHibernateTemplate().execute(new HibernateCallback() {
40 public Object doInHibernate(Session session)
41 throws HibernateException, SQLException {
42 session.lock(ttrc, LockMode.NONE);
43 TreeTestResult ttr = (TreeTestResult) session.get(
44 TreeTestResult.class, resultUuid);
45 ttrc.getResults().add(ttr);
46 session.update(ttrc);
47 return ttrc;
48 }
49 });
50 }
51
52 public void removeResultFromCollection(final TreeTestResultCollection ttrc,
53 final String resultUuid) {
54 getHibernateTemplate().execute(new HibernateCallback() {
55 public Object doInHibernate(Session session)
56 throws HibernateException, SQLException {
57 session.lock(ttrc, LockMode.NONE);
58 TreeTestResult ttr = (TreeTestResult) session.get(
59 TreeTestResult.class, resultUuid);
60 if (ttrc.getResults().remove(ttr))
61 session.update(ttrc);
62 return ttrc;
63 }
64 });
65 }
66
67 }