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;
// 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);
}
}else{
selection_typeSpecimen.setEntity(entity.getTypeSpecimen());
}
-
+
SpecimenTypeDesignationStatus typeStatus = HibernateProxyHelper
.deproxy(entity.getTypeStatus(), SpecimenTypeDesignationStatus.class);
combo_typeStatus.setSelection(typeStatus);
-
+
checkbox_notDesignated.setSelection(entity.isNotDesignated());
}
}
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());