Revision 8cc448f7
Added by Katja Luther about 4 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/DeleteHandlerE4.java | ||
---|---|---|
36 | 36 |
import eu.etaxonomy.cdm.model.description.SpecimenDescription; |
37 | 37 |
import eu.etaxonomy.cdm.model.description.TaxonDescription; |
38 | 38 |
import eu.etaxonomy.cdm.model.description.TaxonNameDescription; |
39 |
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase; |
|
39 | 40 |
import eu.etaxonomy.taxeditor.bulkeditor.e4.BulkEditorE4; |
40 | 41 |
import eu.etaxonomy.taxeditor.editor.EditorUtil; |
41 | 42 |
import eu.etaxonomy.taxeditor.editor.name.e4.TaxonNameEditorE4; |
... | ... | |
85 | 86 |
continue; |
86 | 87 |
} |
87 | 88 |
DescriptionBase description = null; |
89 |
SpecimenOrObservationBase specimen = null; |
|
88 | 90 |
DeleteResult result = new DeleteResult(); |
89 | 91 |
if (object instanceof DescriptionBase){ |
90 | 92 |
result = CdmStore.getService(IDescriptionService.class).isDeletable(((DescriptionBase) object).getUuid()); |
... | ... | |
107 | 109 |
|
108 | 110 |
} else if(object instanceof SpecimenDescription){ |
109 | 111 |
operation = new DeleteSpecimenDescriptionOperation(label, undoContext, (SpecimenDescription) object, factualDataPart, cdmEntitySessionEnabled); |
110 |
|
|
111 |
((SpecimenDescription) object).getDescribedSpecimenOrObservation().removeDescription((SpecimenDescription) object);
|
|
112 |
specimen = ((SpecimenDescription) object).getDescribedSpecimenOrObservation(); |
|
113 |
specimen.removeDescription((SpecimenDescription) object);
|
|
112 | 114 |
|
113 | 115 |
} else if(object instanceof DescriptionElementBase){ |
114 | 116 |
// DescriptionElementBase |
... | ... | |
133 | 135 |
if (factualDataPart.getSelectionProvidingPart().getObject() instanceof DerivateView){ |
134 | 136 |
((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).addOperation(operation); |
135 | 137 |
((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).setDirty(true); |
138 |
|
|
136 | 139 |
if (object instanceof DescriptionBase){ |
137 |
((DerivateView)factualDataPart.getSelectionProvidingPart().getObject()).changed(((SpecimenDescription)object).getDescribedSpecimenOrObservation()); |
|
140 |
factualDataPart.getViewer().refresh(); |
|
141 |
factualDataPart.collapse(); |
|
138 | 142 |
} else if (object instanceof DescriptionElementBase){ |
139 | 143 |
if (description != null){ |
140 | 144 |
factualDataPart.changed(description); |
... | ... | |
146 | 150 |
((BulkEditorE4)factualDataPart.getSelectionProvidingPart().getObject()).setDirty(true); |
147 | 151 |
((BulkEditorE4)factualDataPart.getSelectionProvidingPart().getObject()).changed(((SpecimenDescription)object).getDescribedSpecimenOrObservation()); |
148 | 152 |
} |
153 |
|
|
149 | 154 |
} |
150 | 155 |
else{ |
151 | 156 |
Exception e = result.getExceptions() != null && !result.getExceptions().isEmpty()? result.getExceptions().iterator().next() : null; |
Also available in: Unified diff
fix #8784: update factual data view after deleting specimen description