1 package org
.argeo
.slc
.hibernate
.test
.tree
;
3 import java
.sql
.SQLException
;
4 import java
.util
.SortedSet
;
5 import java
.util
.TreeSet
;
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
;
16 public class TreeTestResultCollectionDaoHibernate
extends HibernateDaoSupport
17 implements TreeTestResultCollectionDao
{
19 public void create(TreeTestResultCollection ttrCollection
) {
20 getHibernateTemplate().save(ttrCollection
);
23 public TreeTestResultCollection
getTestResultCollection(String id
) {
24 return (TreeTestResultCollection
) getHibernateTemplate().get(
25 TreeTestResultCollection
.class, id
);
28 public void update(TreeTestResultCollection ttrCollection
) {
29 getHibernateTemplate().update(ttrCollection
);
32 public SortedSet
<TreeTestResultCollection
> listCollections() {
33 return new TreeSet
<TreeTestResultCollection
>(getHibernateTemplate()
34 .find("from TreeTestResultCollection"));
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
);
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
))