cdmlib 2.5
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / MarkerServiceImpl.java
index af7ac9bc8d0152f135372dbe83d5288ec193c06a..cda8aa45efd737253de088263467c5dbd454612c 100644 (file)
@@ -10,8 +10,10 @@ 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.Annotation;\r
 import eu.etaxonomy.cdm.model.common.Marker;\r
 import eu.etaxonomy.cdm.model.common.MarkerType;\r
+import eu.etaxonomy.cdm.model.common.User;\r
 import eu.etaxonomy.cdm.persistence.dao.hibernate.common.MarkerDaoImpl;\r
 import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
 \r
@@ -35,4 +37,19 @@ public class MarkerServiceImpl extends       VersionableServiceBase<Marker, MarkerDaoI
                return new DefaultPagerImpl<Marker>(pageNumber, numberOfResults, pageSize, results);\r
        }\r
 \r
+       public Pager<Marker> list(User creator, MarkerType markerType,Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths) {\r
+        Integer numberOfResults = dao.count(creator,markerType);\r
+               \r
+               List<Marker> results = new ArrayList<Marker>();\r
+               if(numberOfResults > 0) { // no point checking again\r
+                       results = dao.list(creator,markerType, pageSize, pageNumber, orderHints, propertyPaths);\r
+               }\r
+               \r
+               return new DefaultPagerImpl<Marker>(pageNumber, numberOfResults, pageSize, results);\r
+       }\r
+\r
+       public int count(User creator, MarkerType markerType) {\r
+        return dao.count(creator,markerType);\r
+       }\r
 }\r
+\r