Revision e2ab596e
Added by Katja Luther over 2 years ago
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/descriptive/e4/handler/DeleteHandlerE4.java | ||
---|---|---|
32 | 32 |
import eu.etaxonomy.cdm.api.service.DeleteResult; |
33 | 33 |
import eu.etaxonomy.cdm.api.service.IDescriptionService; |
34 | 34 |
import eu.etaxonomy.cdm.api.service.UpdateResult.Status; |
35 |
import eu.etaxonomy.cdm.model.common.CdmBase; |
|
35 | 36 |
import eu.etaxonomy.cdm.model.description.DescriptionBase; |
36 | 37 |
import eu.etaxonomy.cdm.model.description.DescriptionElementBase; |
37 | 38 |
import eu.etaxonomy.cdm.model.description.SpecimenDescription; |
... | ... | |
80 | 81 |
String label = menuItem.getLocalizedLabel(); |
81 | 82 |
|
82 | 83 |
IUndoContext undoContext = EditorUtil.getUndoContext(); |
84 |
CdmBase updateObject = null; |
|
83 | 85 |
|
84 | 86 |
List<AbstractPostOperation> operations = new ArrayList(); |
85 | 87 |
AbstractPostOperation operation = null; |
... | ... | |
110 | 112 |
if(object instanceof TaxonDescription ){ |
111 | 113 |
|
112 | 114 |
operation = new DeleteTaxonDescriptionOperation(label, undoContext, (TaxonDescription) object, factualDataPart, cdmEntitySessionEnabled); |
113 |
|
|
115 |
updateObject = ((TaxonDescription) object).getTaxon(); |
|
114 | 116 |
((TaxonDescription) object).getTaxon().removeDescription((TaxonDescription) object); |
115 |
|
|
117 |
|
|
116 | 118 |
|
117 | 119 |
} else if(object instanceof TaxonNameDescription ){ |
118 | 120 |
operation = new DeleteTaxonNameDescriptionOperation(label, undoContext, (TaxonNameDescription) object, factualDataPart, cdmEntitySessionEnabled); |
119 |
|
|
121 |
updateObject= ((TaxonNameDescription) object).getTaxonName(); |
|
120 | 122 |
((TaxonNameDescription) object).getTaxonName().removeDescription((TaxonNameDescription) object); |
121 | 123 |
|
122 | 124 |
} else if(object instanceof SpecimenDescription){ |
123 | 125 |
operation = new DeleteSpecimenDescriptionOperation(label, undoContext, (SpecimenDescription) object, factualDataPart, cdmEntitySessionEnabled); |
124 | 126 |
specimen = ((SpecimenDescription) object).getDescribedSpecimenOrObservation(); |
127 |
updateObject = specimen; |
|
125 | 128 |
specimen.removeDescription((SpecimenDescription) object); |
126 | 129 |
|
127 | 130 |
} else if(object instanceof DescriptionElementBase){ |
... | ... | |
161 | 164 |
if (factualDataPart.getSelectionProvidingPart().getObject() instanceof BulkEditor){ |
162 | 165 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).addOperation(operation); |
163 | 166 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).setDirty(true); |
164 |
if (object instanceof SpecimenDescription){ |
|
165 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).changed(((SpecimenDescription)object).getDescribedSpecimenOrObservation()); |
|
166 |
}else if (object instanceof TaxonDescription){ |
|
167 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).changed(((TaxonDescription)object).getTaxon()); |
|
168 |
}else if (object instanceof TaxonNameDescription){ |
|
169 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).changed(((TaxonNameDescription)object).getTaxonName()); |
|
167 |
if (object instanceof DescriptionBase){ |
|
168 |
((BulkEditor)factualDataPart.getSelectionProvidingPart().getObject()).changed(updateObject); |
|
170 | 169 |
} |
171 | 170 |
} |
172 | 171 |
|
Also available in: Unified diff
ref #9882: remember operations and execute while saving