fixed a bug that occurred when executing operations on taxon nodes on root level
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / ReferenceServiceImpl.java
index 2cabe74a161d5a7a7016b694d3ae09eaeb097891..1400b6202096fceb4b711dcbe040ce8717448348 100644 (file)
@@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
 \r
 import eu.etaxonomy.cdm.api.service.pager.Pager;\r
 import eu.etaxonomy.cdm.api.service.pager.impl.DefaultPagerImpl;\r
+import eu.etaxonomy.cdm.model.common.UuidAndTitleCache;\r
 import eu.etaxonomy.cdm.model.name.BotanicalName;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationship;\r
 import eu.etaxonomy.cdm.model.name.HybridRelationshipType;\r
@@ -45,80 +46,6 @@ public class ReferenceServiceImpl extends IdentifiableServiceBase<ReferenceBase,
                if (logger.isDebugEnabled()) { logger.debug("Load ReferenceService Bean"); }\r
        }\r
 \r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * find\r
-        */\r
-       public ReferenceBase getReferenceByUuid(UUID uuid) {\r
-               return super.getCdmObjectByUuid(uuid); \r
-       }\r
-\r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * getByTitle?\r
-        */\r
-       public List<ReferenceBase> getReferencesByTitle(String title) {\r
-               return super.findCdmObjectsByTitle(title);\r
-       }\r
-       \r
-       public List<ReferenceBase> getReferencesByTitle(String title, Class<ReferenceBase> clazz) {\r
-               return super.findCdmObjectsByTitle(title, clazz);\r
-       }\r
-       \r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * save\r
-        */\r
-       @Transactional(readOnly = false)\r
-       public UUID saveReference(ReferenceBase reference) {\r
-               return super.saveCdmObject(reference);\r
-       }\r
-\r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * save(Set<Reference> references)\r
-        */\r
-       @Transactional(readOnly = false)\r
-       public Map<UUID, ReferenceBase> saveReferenceAll(Collection<ReferenceBase> referenceCollection){\r
-               return saveCdmObjectAll(referenceCollection);\r
-       }\r
-\r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * list()\r
-        *  (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllReferences(int, int)\r
-        */\r
-       @Deprecated\r
-       public List<ReferenceBase> getAllReferences(int limit, int start){\r
-                       return dao.list(limit, start);\r
-       }\r
-       \r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * list\r
-        *  (non-Javadoc)\r
-        * @see eu.etaxonomy.cdm.api.service.IReferenceService#getAllReferences(java.lang.Integer, java.lang.Integer)\r
-        */\r
-       public Pager<ReferenceBase> getAllReferences(Integer pageSize, Integer pageNumber, List<OrderHint> orderHints) {\r
-        Integer numberOfResults = dao.count();\r
-               \r
-               List<ReferenceBase> results = new ArrayList<ReferenceBase>();\r
-               if(numberOfResults > 0) { // no point checking again\r
-                       Integer start = pageSize == null ? 0 : pageSize * (pageNumber - 1);\r
-                       results = dao.list(pageSize, start, orderHints); //TODO implement pager like method in dao?\r
-               }\r
-               return new DefaultPagerImpl<ReferenceBase>(pageNumber, numberOfResults, pageSize, results);\r
-       }\r
-\r
-       /**\r
-        * FIXME Candidate for harmonization\r
-        * list\r
-        */\r
-       public Pager<ReferenceBase> getAllReferences(Integer pageSize, Integer pageNumber) {\r
-               return getAllReferences(pageSize, pageNumber, null);\r
-       }\r
-\r
        public void generateTitleCache() {\r
                logger.warn("Not yet implemented");\r
                // TODO Auto-generated method stub\r
@@ -141,15 +68,18 @@ public class ReferenceServiceImpl extends IdentifiableServiceBase<ReferenceBase,
                return new DefaultPagerImpl<ReferenceBase>(pageNumber, numberOfResults, pageSize, results);\r
        }\r
 \r
-       public Map<UUID, String> getUuidAndTitleCacheOfReferences() {\r
+       public List<UuidAndTitleCache<ReferenceBase>> getUuidAndTitle() {\r
                \r
-               return dao.getUuidAndTitleCacheOfReferences();\r
+               return dao.getUuidAndTitle();\r
+       }\r
+       \r
+       public List<ReferenceBase> getAllReferencesForPublishing(){\r
+               return dao.getAllNotNomenclaturalReferencesForPublishing();\r
        }\r
 \r
-       public <TYPE extends ReferenceBase> Pager<TYPE> list(Class<TYPE> type,\r
-                       Integer pageSize, Integer pageNumber, List<OrderHint> orderHints,\r
-                       List<String> propertyPaths) {\r
-               // TODO Auto-generated method stub\r
-               return null;\r
+       public List<ReferenceBase> getAllNomenclaturalReferences() {\r
+               \r
+               return dao.getAllNomenclaturalReferences();\r
        }\r
+\r
 }\r