]> 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
Remove warnings
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.hibernate / src / main / java / org / argeo / slc / hibernate / test / tree / TreeTestResultDaoHibernate.java
index fefa76de899375d47baa77ff72a6bbad175a10f2..b005f390687f9aeb35bb4c4b8b70f3d139153197 100644 (file)
@@ -4,9 +4,9 @@ import java.sql.SQLException;
 import java.util.Date;\r
 import java.util.List;\r
 import java.util.Map;\r
-import java.util.SortedMap;\r
 \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.tree.PartSubList;\r
@@ -18,6 +18,7 @@ import org.hibernate.HibernateException;
 import org.hibernate.Session;\r
 import org.springframework.orm.hibernate3.HibernateCallback;\r
 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
+import org.springframework.util.Assert;\r
 \r
 /**\r
  * The Hibernate implementation for tree-based result of the test result dao.\r
@@ -46,11 +47,13 @@ public class TreeTestResultDaoHibernate extends HibernateDaoSupport implements
 \r
        }\r
 \r
+       @SuppressWarnings("unchecked")\r
        public List<TreeTestResult> listTestResults() {\r
                return (List<TreeTestResult>) getHibernateTemplate().find(\r
                                "from TreeTestResult");\r
        }\r
 \r
+       @SuppressWarnings("unchecked")\r
        public List<TreeTestResult> listResults(TreeSPath path) {\r
                List<TreeTestResult> list = getHibernateTemplate().find(\r
                                "from TreeTestResult res where ? in indices(res.resultParts)",\r
@@ -98,6 +101,33 @@ 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
+\r
+                               // Check is there is already such an attachment\r
+                               Assert.notNull(attachment, "attachment is null");\r
+                               Assert.notNull(session, "session is null");\r
+                               SimpleAttachment att = (SimpleAttachment) session.get(\r
+                                               attachment.getClass(), attachment.getUuid());\r
+                               if (att != null)\r
+                                       throw new SlcException(\r
+                                                       "There is already an attachement with id "\r
+                                                                       + attachment.getUuid());\r
+\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