import eu.etaxonomy.cdm.model.description.SpecimenDescription;
import eu.etaxonomy.cdm.model.description.TaxonDescription;
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
+import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
import eu.etaxonomy.taxeditor.bulkeditor.e4.BulkEditorE4;
import eu.etaxonomy.taxeditor.editor.EditorUtil;
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4;
continue;
}
DescriptionBase description = null;
+ SpecimenOrObservationBase specimen = null;
DeleteResult result = new DeleteResult();
if (object instanceof DescriptionBase){
result = CdmStore.getService(IDescriptionService.class).isDeletable(((DescriptionBase) object).getUuid());
} else if(object instanceof SpecimenDescription){
operation = new DeleteSpecimenDescriptionOperation(label, undoContext, (SpecimenDescription) object, factualDataPart, cdmEntitySessionEnabled);
-
- ((SpecimenDescription) object).getDescribedSpecimenOrObservation().removeDescription((SpecimenDescription) object);
+ specimen = ((SpecimenDescription) object).getDescribedSpecimenOrObservation();
+ specimen.removeDescription((SpecimenDescription) object);
} else if(object instanceof DescriptionElementBase){
// DescriptionElementBase
if (factualDataPart.getSelectionProvidingPart().getObject() instanceof DerivateView){
((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).addOperation(operation);
((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).setDirty(true);
+
if (object instanceof DescriptionBase){
- ((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).changed(((SpecimenDescription)object).getDescribedSpecimenOrObservation());
+ factualDataPart.getViewer().refresh();
+ factualDataPart.collapse();
} else if (object instanceof DescriptionElementBase){
if (description != null){
factualDataPart.changed(description);
((BulkEditorE4)factualDataPart.getSelectionProvidingPart().getObject()).setDirty(true);
((BulkEditorE4)factualDataPart.getSelectionProvidingPart().getObject()).changed(((SpecimenDescription)object).getDescribedSpecimenOrObservation());
}
+
}
else{
Exception e = result.getExceptions() != null && !result.getExceptions().isEmpty()? result.getExceptions().iterator().next() : null;