Project

General

Profile

« Previous | Next » 

Revision 4a6c88be

Added by Patrick Plitzner over 8 years ago

Use deproxy

View differences:

eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenView/SpecimenView.java
9 9
*/
10 10
package eu.etaxonomy.taxeditor.view.specimenView;
11 11

  
12
import org.eclipse.jface.action.MenuManager;
12 13
import org.eclipse.jface.viewers.DoubleClickEvent;
13 14
import org.eclipse.jface.viewers.IDoubleClickListener;
14 15
import org.eclipse.jface.viewers.ISelection;
......
17 18
import org.eclipse.jface.viewers.TableViewerColumn;
18 19
import org.eclipse.swt.SWT;
19 20
import org.eclipse.swt.widgets.Composite;
21
import org.eclipse.swt.widgets.Control;
22
import org.eclipse.swt.widgets.Menu;
20 23
import org.eclipse.ui.ISelectionListener;
21 24
import org.eclipse.ui.ISelectionService;
22 25
import org.eclipse.ui.IWorkbenchPart;
23 26
import org.eclipse.ui.part.ViewPart;
24 27

  
25 28
import eu.etaxonomy.cdm.model.taxon.Taxon;
29
import eu.etaxonomy.taxeditor.model.AbstractUtility;
26 30

  
27 31
/**
28 32
 * This class visualizes a list of field units associated to a taxon.
......
95 99
        //enable header
96 100
        viewer.getTable().setHeaderVisible(true);
97 101

  
102
        //create context menu
103
        MenuManager menuManager = new MenuManager();
104
        getSite().registerContextMenu(menuManager, viewer);
105
        Control control = viewer.getControl();
106
        Menu menu = menuManager.createContextMenu(control);
107
        control.setMenu(menu);
108

  
98 109
        viewer.addDoubleClickListener(new IDoubleClickListener() {
99 110

  
100 111
            @Override
......
115 126
        if(part==this){
116 127
            return;
117 128
        }
129
        if(AbstractUtility.getActiveEditor() == null){
130
            viewer.setInput(null);
131
            return;
132
        }
118 133

  
119 134
        if(selection instanceof IStructuredSelection){
120 135
            Object selectedElement = ((IStructuredSelection) selection).getFirstElement();
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/specimenView/SpecimenViewContentProvider.java
17 17

  
18 18
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
19 19
import eu.etaxonomy.cdm.api.service.dto.FieldUnitDTO;
20
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
20 21
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
21 22
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
22 23
import eu.etaxonomy.cdm.model.taxon.Taxon;
......
47 48
    public Object[] getElements(Object inputElement) {
48 49
        List<FieldUnitDTO> fieldUnitDTOs = new ArrayList<FieldUnitDTO>();
49 50
        if(inputElement instanceof Taxon){
50
            Taxon taxon = (Taxon) inputElement;
51
            Taxon taxon = HibernateProxyHelper.deproxy(inputElement, Taxon.class);
51 52
            List<SpecimenOrObservationBase> fieldUnits = CdmStore.getService(IOccurrenceService.class).pageFieldUnitsByAssociatedTaxon(null, taxon, null, null, null, null, null).getRecords();
52 53
            for (SpecimenOrObservationBase specimenOrObservationBase : fieldUnits) {
53
                if(specimenOrObservationBase instanceof FieldUnit){
54
                    fieldUnitDTOs.add(CdmStore.getService(IOccurrenceService.class).assembleFieldUnitDTO((FieldUnit) specimenOrObservationBase, taxon.getUuid()));
54
                if(specimenOrObservationBase.isInstanceOf(FieldUnit.class)){
55
                    fieldUnitDTOs.add(CdmStore.getService(IOccurrenceService.class).assembleFieldUnitDTO(HibernateProxyHelper.deproxy(specimenOrObservationBase, FieldUnit.class), taxon.getUuid()));
55 56
                }
56 57
            }
57 58
            return fieldUnitDTOs.toArray();

Also available in: Unified diff