From a6668d89966ba2231619c6110247121ae66cf14f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Andreas=20M=C3=BCller?= Date: Thu, 24 Jan 2008 15:20:03 +0000 Subject: [PATCH] --- .../main/java/eu/etaxonomy/cdm/api/service/IService.java | 2 ++ .../java/eu/etaxonomy/cdm/api/service/ITaxonService.java | 5 +++++ .../java/eu/etaxonomy/cdm/api/service/ServiceBase.java | 9 +++++++++ .../eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java | 7 +++++++ .../eu/etaxonomy/cdm/api/service/TermServiceImpl.java | 4 ++-- 5 files changed, 25 insertions(+), 2 deletions(-) diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/IService.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/IService.java index bf55af9ba0..4afdcd54bb 100644 --- a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/IService.java +++ b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/IService.java @@ -5,6 +5,7 @@ */ package eu.etaxonomy.cdm.api.service; + import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import eu.etaxonomy.cdm.model.common.CdmBase; @@ -17,4 +18,5 @@ import eu.etaxonomy.cdm.model.common.CdmBase; @Transactional(propagation=Propagation.SUPPORTS) public interface IService{ + } \ No newline at end of file diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java index aeaf874eb0..a6739fedcf 100644 --- a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java +++ b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ITaxonService.java @@ -16,10 +16,15 @@ public interface ITaxonService extends IIdentifiableEntityService{ /** 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 getRootTaxa(ReferenceBase sec); /** */ public abstract List searchTaxaByName(String name, ReferenceBase sec); + + } diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ServiceBase.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ServiceBase.java index feb233b7f3..cf61e91028 100644 --- a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ServiceBase.java +++ b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/ServiceBase.java @@ -27,6 +27,9 @@ public abstract class ServiceBase implements IService, App this.dao=dao; } + /* (non-Javadoc) + * @see eu.etaxonomy.cdm.api.service.Iyyy#setApplicationContext(org.springframework.context.ApplicationContext) + */ public void setApplicationContext(ApplicationContext appContext){ this.appContext = appContext; } @@ -41,6 +44,12 @@ public abstract class ServiceBase implements IService, App return dao.saveOrUpdate(cdmObj); } + @Transactional(readOnly = false) + protected UUID removeCdmObject(T cdmObj){ + if (logger.isDebugEnabled()){logger.debug("Save cdmObj: " + (cdmObj == null? null: cdmObj.toString()));} + return dao.delete(cdmObj); + } + protected List list(int limit, int start) { return dao.list(limit, start); } diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java index 8342e95e3c..4f2bb0e963 100644 --- a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java +++ b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TaxonServiceImpl.java @@ -27,6 +27,7 @@ public class TaxonServiceImpl extends ServiceBase implements ITaxonSe static Logger logger = Logger.getLogger(TaxonServiceImpl.class); private ITaxonDao taxonDao; + @Autowired protected void setDao(ITaxonDao dao) { this.dao = dao; @@ -42,6 +43,12 @@ public class TaxonServiceImpl extends ServiceBase implements ITaxonSe public UUID saveTaxon(TaxonBase taxon) { return super.saveCdmObject(taxon); } + + + @Transactional(readOnly = false) + public UUID removeTaxon(TaxonBase taxon) { + return super.removeCdmObject(taxon); + } public List searchTaxaByName(String name, ReferenceBase sec) { return taxonDao.getTaxaByName(name, sec); diff --git a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java index 7b4315155e..c6d9dde6bf 100644 --- a/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java +++ b/cdmlibrary/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java @@ -35,13 +35,13 @@ public class TermServiceImpl extends ServiceBase implements ITe public List listTerms() { if (DefinedTermBase.isInitialized()){ - logger.debug("listTerms by Map"); + logger.info("listTerms by Map"); List result = new ArrayList(); 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); } } -- 2.34.1