(no commit message)
authorAndreas Müller <a.mueller@bgbm.org>
Thu, 24 Jan 2008 15:20:03 +0000 (15:20 +0000)
committerAndreas Müller <a.mueller@bgbm.org>
Thu, 24 Jan 2008 15:20:03 +0000 (15:20 +0000)
cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/IService.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ServiceBase.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java
cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java

index bf55af9ba05ec530766ddead3d671aa596af9626..4afdcd54bb4be6b91122a9e15e4211c0a4f37517 100644 (file)
@@ -5,6 +5,7 @@
  */\r
 package eu.etaxonomy.cdm.api.service;\r
 \r
+\r
 import org.springframework.transaction.annotation.Propagation;\r
 import org.springframework.transaction.annotation.Transactional;\r
 import eu.etaxonomy.cdm.model.common.CdmBase;\r
@@ -17,4 +18,5 @@ import eu.etaxonomy.cdm.model.common.CdmBase;
 @Transactional(propagation=Propagation.SUPPORTS)\r
 public interface IService<T extends CdmBase>{\r
 \r
+\r
 }
\ No newline at end of file
index aeaf874eb02884d4b126c24c5b2893317834d27a..a6739fedcfef283fd8a068d430d7eabe1fffa0c5 100644 (file)
@@ -16,10 +16,15 @@ public interface ITaxonService extends IIdentifiableEntityService<TaxonBase>{
        /** save a taxon and return its UUID**/
        public abstract UUID saveTaxon(TaxonBase taxon);
 
+       /** delete a taxon and return its UUID**/
+       public abstract UUID removeTaxon(TaxonBase taxon);
+       
        /** */
        public abstract List<Taxon> getRootTaxa(ReferenceBase sec);
        
        /** */
        public abstract List<TaxonBase> searchTaxaByName(String name, ReferenceBase sec);
        
+       
+       
 }
index feb233b7f3bb2f2b62d87b2e53409b3fbd4a328d..cf61e9102852b07d2327f39f547cc2800f4e68b1 100644 (file)
@@ -27,6 +27,9 @@ public abstract class ServiceBase<T extends CdmBase> implements IService<T>, App
                this.dao=dao;\r
        }\r
        \r
+       /* (non-Javadoc)\r
+        * @see eu.etaxonomy.cdm.api.service.Iyyy#setApplicationContext(org.springframework.context.ApplicationContext)\r
+        */\r
        public void setApplicationContext(ApplicationContext appContext){\r
                this.appContext = appContext;\r
        }\r
@@ -41,6 +44,12 @@ public abstract class ServiceBase<T extends CdmBase> implements IService<T>, App
                return dao.saveOrUpdate(cdmObj);\r
        }\r
 \r
+       @Transactional(readOnly = false)\r
+       protected UUID removeCdmObject(T cdmObj){\r
+               if (logger.isDebugEnabled()){logger.debug("Save cdmObj: " + (cdmObj == null? null: cdmObj.toString()));}\r
+               return dao.delete(cdmObj);\r
+       }\r
+       \r
        protected List<T> list(int limit, int start) {\r
                return dao.list(limit, start);\r
        }\r
index 8342e95e3c3970a7503b3b80fd7274686fe2fee2..4f2bb0e963e4ed8ab60b025d124eadbbcc1be8bc 100644 (file)
@@ -27,6 +27,7 @@ public class TaxonServiceImpl extends ServiceBase<TaxonBase> implements ITaxonSe
        static Logger logger = Logger.getLogger(TaxonServiceImpl.class);\r
        \r
        private ITaxonDao taxonDao;\r
+       \r
        @Autowired\r
        protected void setDao(ITaxonDao dao) {\r
                this.dao = dao;\r
@@ -42,6 +43,12 @@ public class TaxonServiceImpl extends ServiceBase<TaxonBase> implements ITaxonSe
        public UUID saveTaxon(TaxonBase taxon) {\r
                return super.saveCdmObject(taxon);\r
        }\r
+       \r
+\r
+       @Transactional(readOnly = false)\r
+       public UUID removeTaxon(TaxonBase taxon) {\r
+               return super.removeCdmObject(taxon);\r
+       }\r
 \r
        public List<TaxonBase> searchTaxaByName(String name, ReferenceBase sec) {\r
                return taxonDao.getTaxaByName(name, sec);\r
index 7b4315155e48c9fa0091155b271506a379dce7c5..c6d9dde6bfab3ce35c00c17094df4bcc3328f8aa 100644 (file)
@@ -35,13 +35,13 @@ public class TermServiceImpl extends ServiceBase<DefinedTermBase> implements ITe
 
        public List<DefinedTermBase> listTerms() {
                if (DefinedTermBase.isInitialized()){
-                       logger.debug("listTerms by Map");
+                       logger.info("listTerms by Map");
                        List<DefinedTermBase> result = new ArrayList<DefinedTermBase>();
                        result.addAll(DefinedTermBase.getDefinedTerms().values());
                        return result;
                }else{
                        //needed for initialization by DefinedTermBase
-                       logger.debug("listTerms by Init");
+                       logger.info("listTerms by Init");
                        return dao.list(100000, 0);
                }
        }