Added WorkingSetDao & Service
authorben.clark <ben.clark@localhost>
Fri, 22 Jan 2010 16:24:52 +0000 (16:24 +0000)
committerben.clark <ben.clark@localhost>
Fri, 22 Jan 2010 16:24:52 +0000 (16:24 +0000)
.gitattributes
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java [new file with mode: 0644]
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java [new file with mode: 0644]

index db1e5a424c912fc9c5d44ca40c513a6720e65cf8..55ef7fa5390b86e96765a5d64f42a213e9aef406 100644 (file)
@@ -2309,6 +2309,7 @@ cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/ITermService.java -te
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IUserService.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVersionableService.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IVocabularyService.java -text
+cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IdentifiableServiceBase.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IdentificationKeyServiceImpl.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/LocationServiceImpl.java -text
@@ -2325,6 +2326,7 @@ cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/TermServiceImpl.java
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/UserService.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/VersionableServiceBase.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/VocabularyServiceImpl.java -text
+cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/config/IIdentifiableEntityServiceConfigurator.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/config/INameServiceConfigurator.java -text
 cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/config/ITaxonServiceConfigurator.java -text
diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IWorkingSetService.java
new file mode 100644 (file)
index 0000000..1de1dc0
--- /dev/null
@@ -0,0 +1,27 @@
+package eu.etaxonomy.cdm.api.service;\r
+\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
+\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.description.WorkingSet;\r
+import eu.etaxonomy.cdm.persistence.query.OrderHint;\r
+\r
+public interface IWorkingSetService extends IAnnotatableService<WorkingSet> {\r
+       /**\r
+        * Returns a Map of descriptions each with the descriptionelements that match the supplied features (or all description elements if no features are supplied)\r
+        * \r
+        * @param workingSet the working set which the descriptions belong to\r
+        * @param features restrict the returned description elements to those which have features in this set\r
+        * @param pageSize The maximum number of descriptions returned (can be null for all descriptions that belong to the working set)\r
+        * @param pageNumber The offset (in pageSize chunks) from the start of the result set (0 - based, \r
+        *                   can be null, equivalent of starting at the beginning of the recordset). Descriptions are sorted by titleCache\r
+        * @param propertyPaths properties to be initialized (applied to the descriptionElements)\r
+        * @return\r
+        */\r
+       public Map<DescriptionBase, Set<DescriptionElementBase>> getDescriptionElements(WorkingSet workingSet, Set<Feature> features, Integer pageSize, Integer pageNumber,     List<String> propertyPaths);\r
+\r
+}\r
diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/WorkingSetService.java
new file mode 100644 (file)
index 0000000..c3a16e0
--- /dev/null
@@ -0,0 +1,33 @@
+package eu.etaxonomy.cdm.api.service;\r
+\r
+import java.util.List;\r
+import java.util.Map;\r
+import java.util.Set;\r
+\r
+import org.springframework.beans.factory.annotation.Autowired;\r
+import org.springframework.stereotype.Service;\r
+import org.springframework.transaction.annotation.Propagation;\r
+import org.springframework.transaction.annotation.Transactional;\r
+\r
+import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
+import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.Feature;\r
+import eu.etaxonomy.cdm.model.description.WorkingSet;\r
+import eu.etaxonomy.cdm.persistence.dao.description.IWorkingSetDao;\r
+\r
+@Service\r
+@Transactional(propagation = Propagation.SUPPORTS, readOnly = true)\r
+public class WorkingSetService extends\r
+               AnnotatableServiceBase<WorkingSet, IWorkingSetDao> implements IWorkingSetService {\r
+\r
+       @Override\r
+       @Autowired\r
+       protected void setDao(IWorkingSetDao dao) {\r
+               this.dao = dao;\r
+       }\r
+\r
+       public Map<DescriptionBase, Set<DescriptionElementBase>> getDescriptionElements(WorkingSet workingSet, Set<Feature> features, Integer pageSize, Integer pageNumber,\r
+                       List<String> propertyPaths) {\r
+               return dao.getDescriptionElements(workingSet, features, pageSize, pageNumber, propertyPaths);\r
+       }\r
+}\r