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
.springframework
.orm
.hibernate3
.HibernateCallback
;
8 import org
.springframework
.orm
.hibernate3
.support
.HibernateDaoSupport
;
10 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
11 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResultCollection
;
12 import org
.argeo
.slc
.dao
.test
.tree
.TreeTestResultCollectionDao
;
13 import org
.hibernate
.HibernateException
;
14 import org
.hibernate
.LockMode
;
15 import org
.hibernate
.Session
;
16 import org
.hibernate
.action
.Executable
;
18 public class TreeTestResultCollectionDaoHibernate
extends HibernateDaoSupport
19 implements TreeTestResultCollectionDao
{
21 public void create(TreeTestResultCollection ttrCollection
) {
22 getHibernateTemplate().save(ttrCollection
);
25 public TreeTestResultCollection
getTestResultCollection(String id
) {
26 return (TreeTestResultCollection
) getHibernateTemplate().get(
27 TreeTestResultCollection
.class, id
);
30 public void update(TreeTestResultCollection ttrCollection
) {
31 getHibernateTemplate().update(ttrCollection
);
34 public SortedSet
<TreeTestResultCollection
> listCollections() {
35 return new TreeSet
<TreeTestResultCollection
>(getHibernateTemplate()
36 .find("from TreeTestResultCollection"));
39 public void addResultToCollection(final TreeTestResultCollection ttrc
,
40 final String resultUuid
) {
41 getHibernateTemplate().execute(new HibernateCallback() {
42 public Object
doInHibernate(Session session
)
43 throws HibernateException
, SQLException
{
44 session
.lock(ttrc
, LockMode
.NONE
);
45 TreeTestResult ttr
= (TreeTestResult
) session
.get(
46 TreeTestResult
.class, resultUuid
);
47 ttrc
.getResults().add(ttr
);
54 public void removeResultFromCollection(final TreeTestResultCollection ttrc
,
55 final String resultUuid
) {
56 getHibernateTemplate().execute(new HibernateCallback() {
57 public Object
doInHibernate(Session session
)
58 throws HibernateException
, SQLException
{
59 session
.lock(ttrc
, LockMode
.NONE
);
60 TreeTestResult ttr
= (TreeTestResult
) session
.get(
61 TreeTestResult
.class, resultUuid
);
62 if (ttrc
.getResults().remove(ttr
))