Deprecate getCharacterData method in service layer
[cdmlib.git] / cdmlib-services / src / main / java / eu / etaxonomy / cdm / api / service / IDescriptionService.java
index c5a720799046da200b01daef236590e157720cc3..00390d74b7277668363dce9e2165b4a0e0dd24f0 100644 (file)
@@ -29,7 +29,7 @@ import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
 import eu.etaxonomy.cdm.model.description.Distribution;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.FeatureTree;
-import eu.etaxonomy.cdm.model.description.PresenceAbsenceTermBase;
+import eu.etaxonomy.cdm.model.description.PresenceAbsenceTerm;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.location.NamedArea;
@@ -38,6 +38,7 @@ import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.name.TaxonNameBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.persistence.dao.initializer.IBeanInitializer;
+import eu.etaxonomy.cdm.persistence.dto.TermDto;
 import eu.etaxonomy.cdm.persistence.query.OrderHint;
 
 public interface IDescriptionService extends IIdentifiableEntityService<DescriptionBase> {
@@ -99,6 +100,8 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
      */
     public UUID deleteDescriptionElement(DescriptionElementBase descriptionElement);
 
+    public UUID deleteDescriptionElement(UUID descriptionElementUuid);
+
     /**
      * List the descriptions of type <T>, filtered using the following parameters
      *
@@ -363,7 +366,7 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
      * @param propertyPaths Properties to initialize in the returned entities, following the syntax described in {@link IBeanInitializer#initialize(Object, List)}
      * @return a Pager containing TaxonDescription instances
      */
-    public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
+    public Pager<TaxonDescription> searchDescriptionByDistribution(Set<NamedArea> namedAreas, PresenceAbsenceTerm presence, Integer pageSize, Integer pageNumber, List<OrderHint> orderHints, List<String> propertyPaths);
 
     /**
      * Returns a Paged List of DescriptionElementBase instances where the default field matches the String queryString (as interpreted by the Lucene QueryParser)
@@ -497,7 +500,9 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
      *            the initialization strategy
      *
      * @return
+     * @deprecated use {@link IEditGeoService#composeDistributionInfoFor()} instead
      */
+    @Deprecated
     public DistributionTree getOrderedDistributions(
             Set<TaxonDescription> taxonDescriptions,
             boolean subAreaPreference,
@@ -535,8 +540,9 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
      * @param targetDescription
      * @param isPaste if true, the elements are only copied (cloned) and not removed from the
      *         old description
+     * @return
      */
-    public void moveDescriptionElementsToDescription(Collection<DescriptionElementBase> descriptionElements, DescriptionBase targetDescription, boolean isPaste);
+    public UpdateResult moveDescriptionElementsToDescription(Collection<DescriptionElementBase> descriptionElements, DescriptionBase targetDescription, boolean isPaste);
 
     /**
      * Pager method to get all {@link NamedAreas} instances which are currently used
@@ -554,6 +560,46 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
      * @return a Pager for all NamedAreas instances which are currently in use.
      *
      */
-    public Pager<NamedArea> pageNamedAreasInUse(Integer pageSize,
-            Integer pageNumber, List<String> propertyPaths);
+    public Pager<TermDto> pageNamedAreasInUse(boolean includeAllParents, Integer pageSize,
+            Integer pageNumber);
+
+       public DeleteResult deleteDescription(DescriptionBase description);
+
+       public DeleteResult deleteDescription(UUID descriptionUuid);
+
+    /**
+     * @param sourceTaxon
+     * @param targetTaxon
+     * @return
+     */
+    public UpdateResult moveTaxonDescriptions(Taxon sourceTaxon, Taxon targetTaxon);
+
+    /**
+     * @param sourceTaxonUuid
+     * @param targetTaxonUuid
+     * @return
+     */
+    public UpdateResult moveTaxonDescriptions(UUID sourceTaxonUuid, UUID targetTaxonUuid);
+
+
+    /**
+     * @param descriptionElementUUIDs
+     * @param targetDescriptionUuid
+     * @param isCopy
+     * @return
+     */
+    public UpdateResult moveDescriptionElementsToDescription(Set<UUID> descriptionElementUUIDs, UUID targetDescriptionUuid,
+            boolean isCopy);
+
+    /**
+     * @param descriptionElementUUIDs
+     * @param targetTaxonUuid
+     * @param moveMessage
+     * @param isCopy
+     * @return
+     */
+    public UpdateResult moveDescriptionElementsToDescription(Set<UUID> descriptionElementUUIDs, UUID targetTaxonUuid,
+            String moveMessage, boolean isCopy);
+
+
 }
\ No newline at end of file