Implemented in TestServiceImpl
authorMathieu Baudier <mbaudier@argeo.org>
Tue, 9 Dec 2008 17:13:55 +0000 (17:13 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Tue, 9 Dec 2008 17:13:55 +0000 (17:13 +0000)
Added a delete() in collections DAO

NEW - bug 74: Remove empty collections automatically
https://www.argeo.org/bugzilla/show_bug.cgi?id=74

git-svn-id: https://svn.argeo.org/slc/trunk@1979 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/TestManagerService.java
runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/services/test/impl/TestManagerServiceImpl.java
runtime/org.argeo.slc.support.hibernate/src/main/java/org/argeo/slc/hibernate/test/tree/TreeTestResultCollectionDaoHibernate.java
runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/dao/test/tree/TreeTestResultCollectionDao.java

index f1fd71a0d8f9285c57fce95bdaaa1ff5fb367c59..19cde15cfd598f3d4988b465af841797aa309617 100644 (file)
@@ -2,11 +2,15 @@ package org.argeo.slc.services.test;
 \r
 import org.argeo.slc.test.TestRunDescriptor;\r
 \r
+/** Performs complex business operations. */\r
 public interface TestManagerService {\r
+       /** Performs operations related to the addition of a new test run. */\r
        public void registerTestRunDescriptor(TestRunDescriptor testRunDescriptor);\r
 \r
+       /** Adds a result in a collection based on their ids. */\r
        public void addResultToCollection(String collectionId, String resultUuid);\r
 \r
+       /** Removes a result from a collection based on their ids. */\r
        public void removeResultFromCollection(String collectionId,\r
                        String resultUuid);\r
 }\r
index 253f849d03acce253523e5b0217ea954d50215a5..1cb9112b7ef3394bf825fd1ae41f2b7aa9622ab3 100644 (file)
@@ -11,6 +11,7 @@ import org.argeo.slc.process.SlcExecution;
 import org.argeo.slc.services.test.TestManagerService;\r
 import org.argeo.slc.test.TestRunDescriptor;\r
 \r
+/** Implementation of complex operations impacting the underlying data. */\r
 public class TestManagerServiceImpl implements TestManagerService {\r
        private Log log = LogFactory.getLog(getClass());\r
 \r
@@ -69,6 +70,12 @@ public class TestManagerServiceImpl implements TestManagerService {
                        treeTestResultCollectionDao.removeResultFromCollection(ttrc,\r
                                        resultUuid);\r
                }\r
+\r
+               // Delete collection if empty\r
+               // see https://www.argeo.org/bugzilla/show_bug.cgi?id=74\r
+               if (ttrc.getResults().size() == 0) {\r
+                       treeTestResultCollectionDao.delete(ttrc);\r
+               }\r
        }\r
 \r
 }\r
index 0e44b74d5229ee2c189810a4fb7771d84dd13d35..c1679b8231c5629d353ebdecee43920ad2efe92e 100644 (file)
@@ -15,6 +15,7 @@ import org.hibernate.Session;
 import org.springframework.orm.hibernate3.HibernateCallback;\r
 import org.springframework.orm.hibernate3.support.HibernateDaoSupport;\r
 \r
+/** Hibernate implementation of collections DAO. */\r
 public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport\r
                implements TreeTestResultCollectionDao {\r
 \r
@@ -31,6 +32,10 @@ public class TreeTestResultCollectionDaoHibernate extends HibernateDaoSupport
                getHibernateTemplate().update(ttrCollection);\r
        }\r
 \r
+       public void delete(TreeTestResultCollection ttrCollection) {\r
+               getHibernateTemplate().delete(ttrCollection);\r
+       }\r
+\r
        @SuppressWarnings("unchecked")\r
        public SortedSet<TreeTestResultCollection> listCollections() {\r
                return new TreeSet<TreeTestResultCollection>(getHibernateTemplate()\r
index 1f04d6feee7eba2291ce8cb60e246affbc47e8be..3b1101ee2e66b5f04839327742b06b5042f57b59 100644 (file)
@@ -11,6 +11,8 @@ public interface TreeTestResultCollectionDao {
 \r
        public void update(TreeTestResultCollection ttrCollection);\r
 \r
+       public void delete(TreeTestResultCollection ttrCollection);\r
+\r
        public TreeTestResultCollection getTestResultCollection(String id);\r
 \r
        public SortedSet<TreeTestResultCollection> listCollections();\r