Project

General

Profile

« Previous | Next » 

Revision 8cc448f7

Added by Katja Luther about 4 years ago

fix #8784: update factual data view after deleting specimen description

View differences:

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