X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/blobdiff_plain/85338079e1732e36c3817b86159110b0503eafaa..45546a913cf144912d383d54758aa51c81367ec9:/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java index f24b2259d4..00390d74b7 100644 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java @@ -17,9 +17,11 @@ import java.util.Set; import java.util.UUID; import eu.etaxonomy.cdm.api.service.pager.Pager; +import eu.etaxonomy.cdm.api.utility.DescriptionUtility; import eu.etaxonomy.cdm.model.common.Annotation; import eu.etaxonomy.cdm.model.common.DefinedTerm; import eu.etaxonomy.cdm.model.common.Language; +import eu.etaxonomy.cdm.model.common.Marker; import eu.etaxonomy.cdm.model.common.MarkerType; import eu.etaxonomy.cdm.model.common.TermVocabulary; import eu.etaxonomy.cdm.model.description.DescriptionBase; @@ -27,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; @@ -36,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 { @@ -97,6 +100,8 @@ public interface IDescriptionService extends IIdentifiableEntityService, filtered using the following parameters * @@ -361,7 +366,7 @@ public interface IDescriptionService extends IIdentifiableEntityService searchDescriptionByDistribution(Set namedAreas, PresenceAbsenceTermBase presence, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths); + public Pager searchDescriptionByDistribution(Set namedAreas, PresenceAbsenceTerm presence, Integer pageSize, Integer pageNumber, List orderHints, List propertyPaths); /** * Returns a Paged List of DescriptionElementBase instances where the default field matches the String queryString (as interpreted by the Lucene QueryParser) @@ -473,7 +478,37 @@ public interface IDescriptionService extends IIdentifiableEntityService Pager pageDescriptionElementsForTaxon(Taxon taxon, Set features, Class type, Integer pageSize, Integer pageNumber, List propertyPaths); - public DistributionTree getOrderedDistributions(Set taxonDescriptions, Set levels, List propertyPaths); + /** + * @param taxonDescriptions + * @param subAreaPreference + * enables the Sub area preference rule if set to true, + * see {@link DescriptionUtility#filterDistributions(Collection, + * boolean, boolean} + + * @param statusOrderPreference + * enables the Status order preference rule if set to + * true, see {@link + * DescriptionUtility#filterDistributions(Collection, boolean, + * boolean} + * @param hideMarkedAreas + * distributions where the area has a {@link Marker} with one of + * the specified {@link MarkerType}s will be skipped, see + * {@link DescriptionUtility#filterDistributions(Collection, boolean, boolean, Set)} + * @param omitLevels + * A Set NamedArea levels to omit - optional + * @param propertyPaths + * the initialization strategy + * + * @return + * @deprecated use {@link IEditGeoService#composeDistributionInfoFor()} instead + */ + @Deprecated + public DistributionTree getOrderedDistributions( + Set taxonDescriptions, + boolean subAreaPreference, + boolean statusOrderPreference, + Set hideMarkedAreas, + Set omitLevels, List propertyPaths); /** * Generate a string representation of the structured description supplied in natural language @@ -505,8 +540,9 @@ public interface IDescriptionService extends IIdentifiableEntityService descriptionElements, DescriptionBase targetDescription, boolean isPaste); + public UpdateResult moveDescriptionElementsToDescription(Collection descriptionElements, DescriptionBase targetDescription, boolean isPaste); /** * Pager method to get all {@link NamedAreas} instances which are currently used @@ -524,6 +560,46 @@ public interface IDescriptionService extends IIdentifiableEntityService pageNamedAreasInUse(Integer pageSize, - Integer pageNumber, List propertyPaths); + public Pager 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 descriptionElementUUIDs, UUID targetDescriptionUuid, + boolean isCopy); + + /** + * @param descriptionElementUUIDs + * @param targetTaxonUuid + * @param moveMessage + * @param isCopy + * @return + */ + public UpdateResult moveDescriptionElementsToDescription(Set descriptionElementUUIDs, UUID targetTaxonUuid, + String moveMessage, boolean isCopy); + + } \ No newline at end of file