ref #5973: param to define whether moved descEl goes to default descr origin/release/5.41.0
authorKatja Luther <k.luther@bgbm.org>
Fri, 27 Oct 2023 13:38:21 +0000 (15:38 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 27 Oct 2023 13:38:21 +0000 (15:38 +0200)
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/DescriptionServiceImpl.java
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IDescriptionService.java

index 380f9a3e584274f8a8744085c88cea4d9596dc27..783073ff22b9c64ba5ef80c7c28966b55b10f135 100644 (file)
@@ -1006,9 +1006,20 @@ public class DescriptionServiceImpl
             Set<UUID> descriptionElementUUIDs,
             UUID targetTaxonUuid,
             String moveMessage,
-            boolean isCopy, boolean setNameInSource) {
+            boolean isCopy, boolean setNameInSource, boolean useDefaultDescription) {
         Taxon targetTaxon = CdmBase.deproxy(taxonDao.load(targetTaxonUuid), Taxon.class);
-        DescriptionBase targetDescription = TaxonDescription.NewInstance(targetTaxon);
+        TaxonDescription targetDescription = null;
+        if (useDefaultDescription && targetTaxon.hasDefaultDescription()) {
+            for (TaxonDescription des:targetTaxon.getDescriptions()) {
+                if (des.isDefault()) {
+                    targetDescription = des;
+                    break;
+                }
+            }
+        }
+        if (targetDescription == null) {
+            targetDescription = TaxonDescription.NewInstance(targetTaxon);
+        }
         if (!targetTaxon.hasDefaultDescription()) {
             targetDescription.setDefault(true);
         }
index df0cc02ae4163d9b3160b46fd34dbaed74a01f8e..bd117b4eab9bb04540c6eb9b0f072da5d34d09c9 100644 (file)
@@ -475,7 +475,7 @@ public interface IDescriptionService extends IIdentifiableEntityService<Descript
             boolean isCopy, boolean setNameInSource);
 
     public UpdateResult moveDescriptionElementsToDescription(Set<UUID> descriptionElementUUIDs, UUID targetTaxonUuid,
-            String moveMessage, boolean isCopy, boolean setNameInSource);
+            String moveMessage, boolean isCopy, boolean setNameInSource, boolean useDefaultDescription);
 
     public UpdateResult moveTaxonDescription(UUID descriptionUuid, UUID targetTaxonUuid, boolean setNameInSource);