]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultDaoHibernate.java
Attachments management
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.hibernate / src / main / java / org / argeo / slc / hibernate / test / tree / TreeTestResultDaoHibernate.java
index 9d40956bf0a132ee4ec68bc5670079f89bf70121..a217638e202fe60605f5e10e550bfd11b2504db3 100644 (file)
@@ -6,14 +6,15 @@ import java.util.List;
 import java.util.Map;\r
 import java.util.SortedMap;\r
 \r
-import org.argeo.slc.core.SlcException;\r
-import org.argeo.slc.core.structure.StructureElement;\r
+import org.argeo.slc.SlcException;\r
+import org.argeo.slc.core.attachment.SimpleAttachment;\r
 import org.argeo.slc.core.structure.tree.TreeSPath;\r
 import org.argeo.slc.core.test.SimpleResultPart;\r
-import org.argeo.slc.core.test.TestResult;\r
 import org.argeo.slc.core.test.tree.PartSubList;\r
 import org.argeo.slc.core.test.tree.TreeTestResult;\r
 import org.argeo.slc.dao.test.tree.TreeTestResultDao;\r
+import org.argeo.slc.structure.StructureElement;\r
+import org.argeo.slc.test.TestResult;\r
 import org.hibernate.HibernateException;\r
 import org.hibernate.Session;\r
 import org.springframework.orm.hibernate3.HibernateCallback;\r
@@ -88,7 +89,8 @@ public class TreeTestResultDaoHibernate extends HibernateDaoSupport implements
                                        treeTestResult.getResultParts().put(path, lst);\r
                                }\r
                                lst.getParts().add(resultPart);\r
-                               treeTestResult.getElements().putAll(relatedElements);\r
+                               if (relatedElements != null)\r
+                                       treeTestResult.getElements().putAll(relatedElements);\r
 \r
                                session.update(treeTestResult);\r
                                return treeTestResult;\r
@@ -97,6 +99,22 @@ public class TreeTestResultDaoHibernate extends HibernateDaoSupport implements
 \r
        }\r
 \r
+       public void addAttachment(final String testResultId,\r
+                       final SimpleAttachment attachment) {\r
+               getHibernateTemplate().execute(new HibernateCallback() {\r
+\r
+                       public Object doInHibernate(Session session)\r
+                                       throws HibernateException, SQLException {\r
+                               TreeTestResult treeTestResult = getTreeTestResult(session,\r
+                                               testResultId);\r
+                               treeTestResult.getAttachments().add(attachment);\r
+                               session.update(treeTestResult);\r
+                               return treeTestResult;\r
+                       }\r
+               });\r
+\r
+       }\r
+\r
        protected TreeTestResult getTreeTestResult(Session session,\r
                        String testResultId) {\r
                TreeTestResult treeTestResult = (TreeTestResult) session.get(\r