]>
git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc/src/main/java/org/argeo/slc/hibernate/structure/tree/TreeSPathDaoHibernate.java
1 package org
.argeo
.slc
.hibernate
.structure
.tree
;
5 import org
.springframework
.orm
.hibernate3
.support
.HibernateDaoSupport
;
7 import org
.apache
.commons
.logging
.Log
;
8 import org
.apache
.commons
.logging
.LogFactory
;
10 import org
.argeo
.slc
.core
.structure
.tree
.TreeSPath
;
11 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
12 import org
.argeo
.slc
.dao
.structure
.tree
.TreeSPathDao
;
15 * The Hibernate implementation for tree-based result of the test result dao.
19 public class TreeSPathDaoHibernate
extends HibernateDaoSupport
implements
22 private static Log log
= LogFactory
.getLog(TreeSPathDaoHibernate
.class);
24 public void create(TreeSPath path
) {
29 private void createImpl(TreeSPath path
) {
30 if (path
.getParent() != null) {
31 TreeSPath parent
= getTreeSPath(path
.getParent()
32 .getAsUniqueString());
34 createImpl(path
.getParent());
37 getHibernateTemplate().save(path
);
38 if (log
.isTraceEnabled())
39 log
.trace("Saved TreeSPath " + path
.getAsUniqueString());
42 public TreeSPath
getTreeSPath(String pathString
) {
43 if (log
.isTraceEnabled())
44 log
.trace("Query path: " + pathString
);
45 List
<?
> list
= getHibernateTemplate().find(
46 "from TreeSPath where asUniqueString=?", pathString
);
47 if (list
.size() == 0) {
50 return (TreeSPath
) list
.get(0);
54 public TreeSPath
getOrCreate(TreeSPath pathTransient
) {
55 TreeSPath path
= getTreeSPath(pathTransient
56 .getAsUniqueString());
60 create(pathTransient
);
62 return getTreeSPath(pathTransient
.getAsUniqueString());