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
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
--- /dev/null
+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
--- /dev/null
+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