ref #5973: newly created desc are default if no other default exists
authorKatja Luther <k.luther@bgbm.org>
Tue, 17 Oct 2023 10:56:18 +0000 (12:56 +0200)
committerKatja Luther <k.luther@bgbm.org>
Tue, 17 Oct 2023 10:56:18 +0000 (12:56 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/operation/CreateTaxonDescriptionOperation.java

index 102d9c85c445d0e9c8645455638cca7ed08ea44d..582d75f979fab20b4722384493532122544dd2a5 100644 (file)
@@ -11,6 +11,7 @@ package eu.etaxonomy.taxeditor.editor.view.descriptive.operation;
 import org.eclipse.core.commands.operations.IUndoContext;
 
 import eu.etaxonomy.cdm.model.common.IdentifiableSource;
+import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.taxeditor.operation.AbstractDescriptionPostOperation;
@@ -35,10 +36,18 @@ public class CreateTaxonDescriptionOperation extends AbstractDescriptionPostOper
     @Override
     protected void initDescription(){
         boolean isFirst = false;
+        boolean defaultExists = false;
         if (element.getDescriptions() == null || element.getDescriptions().isEmpty()) {
             isFirst = true;
+        }else {
+            for (DescriptionBase desc:element.getDescriptions()) {
+                if (desc.isDefault()) {
+                    defaultExists = true;
+                    break;
+                }
+            }
         }
         description = TaxonDescription.NewInstance(element);
-        description.setDefault(isFirst);
+        description.setDefault(isFirst || !defaultExists);
     }
 }