Project

General

Profile

« Previous | Next » 

Revision adea4e3d

Added by Katja Luther over 3 years ago

fix #9166: avoid class cast exception while editing media in taxon bulk editor

View differences:

eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4.java
38 38
import eu.etaxonomy.cdm.model.common.CdmBase;
39 39
import eu.etaxonomy.cdm.model.description.DescriptionBase;
40 40
import eu.etaxonomy.cdm.model.description.DescriptionElementBase;
41
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
41 42
import eu.etaxonomy.cdm.model.description.TaxonDescription;
42 43
import eu.etaxonomy.cdm.model.description.TaxonNameDescription;
44
import eu.etaxonomy.cdm.model.media.Media;
43 45
import eu.etaxonomy.cdm.model.name.TaxonName;
44 46
import eu.etaxonomy.cdm.model.occurrence.DerivedUnit;
45 47
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
48
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
46 49
import eu.etaxonomy.cdm.model.permission.Group;
47 50
import eu.etaxonomy.cdm.model.permission.User;
48 51
import eu.etaxonomy.cdm.model.taxon.Taxon;
52
import eu.etaxonomy.cdm.model.taxon.TaxonBase;
49 53
import eu.etaxonomy.cdm.model.taxon.TaxonNode;
50 54
import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
51 55
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
......
254 258
                    Taxon changedTaxon = ((TaxonDescription)((DescriptionElementBase)element).getInDescription()).getTaxon();
255 259
                    getEditorInput().addSaveCandidate(changedTaxon);
256 260
                    input.replaceInModel(changedTaxon);
261
                }else if (((DescriptionElementBase)element).getInDescription() instanceof SpecimenDescription){
262
                    SpecimenOrObservationBase changedSpecimen = ((SpecimenDescription)((DescriptionElementBase)element).getInDescription()).getDescribedSpecimenOrObservation();
263
                    getEditorInput().addSaveCandidate(changedSpecimen);
264
                    input.replaceInModel(changedSpecimen);
265
                }
266
            }else if (element instanceof Media){
267
                IStructuredSelection sel = getSelection();
268
                Object firstElement = sel.getFirstElement();
269
                if (firstElement instanceof TaxonBase){
270
                    TaxonBase changedTaxon = (TaxonBase)sel.getFirstElement();
271
                    getEditorInput().addSaveCandidate(changedTaxon);
272
                    input.replaceInModel(changedTaxon);
273
                }else if (firstElement instanceof SpecimenOrObservationBase){
274
                    SpecimenOrObservationBase changedSpecimen = (SpecimenOrObservationBase)sel.getFirstElement();
275
                    getEditorInput().addSaveCandidate(changedSpecimen);
276
                    input.replaceInModel(changedSpecimen);
257 277
                }
258 278
            }else if(element instanceof Group){
259 279
                 Group oldGroup = ((GroupEditorInput)input).getEntityFromModel((Group)element);
eu.etaxonomy.taxeditor.bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/e4/BulkEditorE4Composite.java
19 19

  
20 20
import javax.inject.Inject;
21 21

  
22
import org.eclipse.e4.core.services.events.IEventBroker;
22 23
import org.eclipse.e4.ui.services.EMenuService;
23 24
import org.eclipse.e4.ui.workbench.modeling.ESelectionService;
24 25
import org.eclipse.jface.layout.GridDataFactory;
......
82 83
import eu.etaxonomy.cdm.model.description.SpecimenDescription;
83 84
import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorQuery;
84 85
import eu.etaxonomy.taxeditor.bulkeditor.input.AbstractBulkEditorInput;
86
import eu.etaxonomy.taxeditor.event.WorkbenchEventConstants;
85 87
import eu.etaxonomy.taxeditor.model.ImageResources;
86 88
import eu.etaxonomy.taxeditor.store.StoreUtil;
87 89

  
......
122 124
    private BulkEditorE4 bulkEditor;
123 125
    private BulkEditorSearchE4 bulkEditorSearch;
124 126

  
127
    @Inject
128
    private IEventBroker eventBroker;
129

  
125 130

  
126 131
    public BulkEditorE4Composite(BulkEditorE4 bulkEditor, Composite parent, int style) {
127 132
        super(parent, style);
......
294 299
            public void configureUiBindings(
295 300
                    UiBindingRegistry uiBindingRegistry) {
296 301
                // add e4 menu to NatTable
297
                        new PopupMenuBuilder(natTable, e4Menu)
298
                        .withHideColumnMenuItem()
299
                        .withShowAllColumnsMenuItem()
300
                        .build();
302
                new PopupMenuBuilder(natTable, e4Menu)
303
                .withHideColumnMenuItem()
304
                .withShowAllColumnsMenuItem()
305
                .build();
301 306

  
302 307
                // register the UI binding for header, corner and body region
303 308
                uiBindingRegistry.registerMouseDownBinding(
......
359 364
	}
360 365

  
361 366
	public void performSearch(BulkEditorQuery query) {
367
	    eventBroker.post(WorkbenchEventConstants.CURRENT_ACTIVE_EDITOR, null);
362 368
	    performSearch(query, null);
369

  
363 370
	}
364 371

  
365 372
	/** {@inheritDoc}

Also available in: Unified diff