ref #9088: fix CCE for TypeDesignations
authorKatja Luther <k.luther@bgbm.org>
Wed, 24 Aug 2022 09:27:43 +0000 (11:27 +0200)
committerKatja Luther <k.luther@bgbm.org>
Wed, 24 Aug 2022 09:27:43 +0000 (11:27 +0200)
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditor.java

index 082aa3f69d7503f89625c447c929a68c4b4d6d8b..450eac4795f35be79ab64626699e2f66441b1fbb 100644 (file)
@@ -52,6 +52,7 @@ import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
 import eu.etaxonomy.cdm.model.media.Media;
 import eu.etaxonomy.cdm.model.name.TaxonName;
+import eu.etaxonomy.cdm.model.name.TypeDesignationBase;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
 import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
 import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
@@ -64,6 +65,7 @@ import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
 import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
 import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
 import eu.etaxonomy.taxeditor.bulkeditor.input.GroupEditorInput;
+import eu.etaxonomy.taxeditor.bulkeditor.input.NameEditorInput;
 import eu.etaxonomy.taxeditor.bulkeditor.input.TaxonEditorInput;
 import eu.etaxonomy.taxeditor.editor.IBulkEditor;
 import eu.etaxonomy.taxeditor.editor.ITaxonEditor;
@@ -350,7 +352,25 @@ public class BulkEditor implements IPartContentHasDetails, IConversationEnabled,
 
                 getEditorInput().addSaveCandidate(taxonBase);
                 input.replaceInModel( taxonBase);
-            }else{
+            }else if(element instanceof TypeDesignationBase ){
+                IStructuredSelection sel = this.getSelection();
+                TaxonName name = null;
+                TaxonBase taxon = null;
+                if (sel.getFirstElement() instanceof TaxonName){
+                    name = HibernateProxyHelper.deproxy(sel.getFirstElement(), TaxonName.class);
+                }else if (sel.getFirstElement() instanceof TaxonBase) {
+                       taxon = HibernateProxyHelper.deproxy(sel.getFirstElement(), TaxonBase.class);
+                }
+                if (name != null) {
+                       getEditorInput().addSaveCandidate(name);
+                       input.replaceInModel( name);
+                }else {
+                       getEditorInput().addSaveCandidate(taxon);
+                       input.replaceInModel(taxon);
+                }
+                
+            }
+            else{
                 getEditorInput().addSaveCandidate((CdmBase)element);
                 input.replaceInModel((CdmBase) element);
             }