Project

General

Profile

« Previous | Next » 

Revision e2ab596e

Added by Katja Luther over 2 years ago

ref #9882: remember operations and execute while saving

View differences:

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