Merge branch 'release/5.32.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.store / src / main / java / eu / etaxonomy / taxeditor / ui / section / name / SpecimenTypeDesignationElement.java
index 9159d799de2e94a1655a88ce492f0a29c008b871..a1b625c34ed3af9146cb95a4b1f6bdac88012a28 100644 (file)
@@ -15,7 +15,6 @@ import org.eclipse.swt.events.SelectionListener;
 import eu.etaxonomy.cdm.compare.name.TypeDesignationStatusComparator;
 import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
 import eu.etaxonomy.cdm.model.metadata.PreferencePredicate;
-import eu.etaxonomy.cdm.model.name.NameRelationshipType;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignation;
 import eu.etaxonomy.cdm.model.name.SpecimenTypeDesignationStatus;
 import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
@@ -61,7 +60,7 @@ public class SpecimenTypeDesignationElement extends
 //             combo_typeStatus = formFactory.createDefinedTermComboElement(TermType.SpecimenTypeDesignationStatus,
 //                                             formElement, "Designation Status", null, style, new TypeDesignationStatusComparator<SpecimenTypeDesignationStatus>());
            combo_typeStatus = formFactory.createDefinedTermComboElement(relTypes, formElement, "Designation Status", null,style, new TypeDesignationStatusComparator<SpecimenTypeDesignationStatus>());
-           
+
                super.createControls(formElement, style);
                setEntity(entity);
        }
@@ -75,11 +74,11 @@ public class SpecimenTypeDesignationElement extends
                }else{
                    selection_typeSpecimen.setEntity(entity.getTypeSpecimen());
                }
-       
+
                        SpecimenTypeDesignationStatus typeStatus = HibernateProxyHelper
                                        .deproxy(entity.getTypeStatus(), SpecimenTypeDesignationStatus.class);
                    combo_typeStatus.setSelection(typeStatus);
-       
+
                        checkbox_notDesignated.setSelection(entity.isNotDesignated());
            }
        }
@@ -88,8 +87,11 @@ public class SpecimenTypeDesignationElement extends
        public void handleEvent(Object eventSource) {
            super.handleEvent(eventSource);
                if (eventSource == combo_typeStatus) {
-
-                   if ((combo_typeStatus.getSelection() == null && entity.getCitation() != null) || ( entity.getTypeStatus() != null && getEntity().getTypeStatus().hasDesignationSource() && !combo_typeStatus.getSelection().hasDesignationSource() && entity.getCitation() != null)){
+                   boolean entityStatusHasDesignationSource = entity.getTypeStatus() != null && getEntity().getTypeStatus().hasDesignationSource();
+                   boolean selectedStatusHasDesignationSource = combo_typeStatus.getSelection() != null && combo_typeStatus.getSelection().hasDesignationSource();
+                   boolean hasCitation = entity.getCitation() != null;
+                   if (hasCitation && (combo_typeStatus.getSelection() == null ||
+                           ( entityStatusHasDesignationSource && !selectedStatusHasDesignationSource ))){
                        boolean ok = MessagingUtils.confirmDialog(Messages.NameTypeDesignationElement_4, Messages.NameTypeDesignationElement_5);
                        if (!ok){
                            combo_typeStatus.setSelection(entity.getTypeStatus());