From: Katja Luther Date: Tue, 10 Oct 2023 13:08:49 +0000 (+0200) Subject: ref #5973: add new preference predicate for description handling in X-Git-Tag: 5.41.0^2~44 X-Git-Url: https://dev.e-taxonomy.eu/gitweb/cdmlib.git/commitdiff_plain/2be734d68cc4b5f192a862ea49868e29869234fa ref #5973: add new preference predicate for description handling in distr editor --- diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/DistributionDescription.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/DistributionDescription.java new file mode 100644 index 0000000000..5fd118cf76 --- /dev/null +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/DistributionDescription.java @@ -0,0 +1,57 @@ +// $Id$ +/** +* Copyright (C) 2023 EDIT +* European Distributed Institute of Taxonomy +* http://www.e-taxonomy.eu +* +* The contents of this file are subject to the Mozilla Public License Version 1.1 +* See LICENSE.TXT at the top of this package for the full license terms. +*/ +package eu.etaxonomy.cdm.model.metadata; + +/** + * @author katjaluther + * @date 10.10.2023 + * + */ +public enum DistributionDescription implements IKeyLabel{ + AlwaysDefault("AlwaysDefault", "Always use default description"), + OwnDescriptionForDistributions("OwnDescription", "Use own description for distributions"), + DescriptionsPerSource("DescriptionPerSource", "Every source has its own description"); + + + private String label; + private String key; + + private DistributionDescription(String key, String label) { + this.key = key; + this.label = label; + } + + @Override + public String getLabel() { + + return label; + } + + @Override + public String getKey() { + + return key; + } + + @Override + public String toString() { + return key; + } + + public static DistributionDescription byKey(String key){ + for (DistributionDescription distributionDesc : values()){ + if (distributionDesc.key.equals(key)){ + return distributionDesc; + } + } + throw new IllegalArgumentException(); + } + +} diff --git a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferencePredicate.java b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferencePredicate.java index 9c88de9284..f909a0466c 100644 --- a/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferencePredicate.java +++ b/cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferencePredicate.java @@ -100,7 +100,7 @@ public enum PreferencePredicate DisplayOfStatusInCombo(UUID.fromString("a8ff1763-987f-4935-aaba-910f3a870d07"), "Distribution Editor: Display of Status", "distribution.editor.status.combo_display", TermComboEnum.TermDisplayPlusTitle), DisplayOfAreasInDistributionEditor(UUID.fromString("7b671bba-1b7f-4cb9-bbac-c914518a4bf8"), "Distribution Editor: Display of Areas", "distribution.editor.areas.displayAreas", TermDisplayEnum.Title), NumberOfVisibleStatusInDropDown(UUID.fromString("5e5ed585-2212-4d07-bbaf-c5e19a61dace"), "Distribution Editor: Number of visible status in drop down", "distribution.editor.status.numberVisibleStatus", 10), - OwnDescriptionForDistributionEditor(UUID.fromString("38282571-049c-473e-bec3-bde6f65f796a"), "Distribution Editor: Create distribution editor TaxonDescription", "distribution.editor.distributionOwnDescription", Boolean.FALSE), + DescriptionForDistributionEditor(UUID.fromString("38282571-049c-473e-bec3-bde6f65f796a"), "Distribution Editor: Create distribution editor TaxonDescription", "distribution.editor.distributionOwnDescription", DistributionDescription.AlwaysDefault), AvailableDistributionAreaTerms(UUID.fromString("34469acc-9e23-4f95-92d4-1695e02cb5a0"), "Available Distribution Area Terms", "distribution.area.terms", null), //default: all/no filter //Character matrix diff --git a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonDescriptionDTO.java b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonDescriptionDTO.java index d6cc021cac..d6f2f1e69e 100755 --- a/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonDescriptionDTO.java +++ b/cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/dto/TaxonDescriptionDTO.java @@ -29,18 +29,15 @@ public class TaxonDescriptionDTO implements Serializable{ UUID taxonUUID; Set descriptions = new HashSet(); - public TaxonDescriptionDTO(Taxon taxon, boolean onlyUseDefault){ + public TaxonDescriptionDTO(Taxon taxon, boolean alwaysUseDefault){ this.taxonUUID = taxon.getUuid(); for (TaxonDescription desc: taxon.getDescriptions()){ if (desc.isDefault()) { descriptions.add(desc); - if (onlyUseDefault) { - break; - } } } - if (descriptions.isEmpty() || !onlyUseDefault) { + if (descriptions.isEmpty() || !alwaysUseDefault) { for (TaxonDescription desc: taxon.getDescriptions()){ if (desc.isComputed()) { continue;