Project

General

Profile

« Previous | Next » 

Revision 88d947de

Added by Patrick Plitzner over 10 years ago

  • store derivate created by context menu

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/derivate/CreateDerivateContextMenu.java
9 9
import org.eclipse.swt.events.SelectionListener;
10 10
import org.eclipse.swt.widgets.Menu;
11 11
import org.eclipse.swt.widgets.MenuItem;
12
import org.eclipse.ui.IEditorPart;
13
import org.eclipse.ui.IWorkbenchPart;
12 14
import org.eclipse.ui.IWorkbenchWindow;
13 15
import org.eclipse.ui.PlatformUI;
14 16
import org.eclipse.ui.actions.CompoundContributionItem;
15 17
import org.eclipse.ui.handlers.IHandlerService;
16 18

  
19
import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeCacheStrategy;
20
import eu.etaxonomy.cdm.api.service.IOccurrenceService;
17 21
import eu.etaxonomy.cdm.hibernate.HibernateProxyHelper;
18 22
import eu.etaxonomy.cdm.model.occurrence.DerivationEvent;
19 23
import eu.etaxonomy.cdm.model.occurrence.DerivationEventType;
......
21 25
import eu.etaxonomy.cdm.model.occurrence.FieldUnit;
22 26
import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
23 27
import eu.etaxonomy.taxeditor.editor.EditorUtil;
28
import eu.etaxonomy.taxeditor.model.AbstractUtility;
29
import eu.etaxonomy.taxeditor.store.CdmStore;
24 30

  
25 31
public class CreateDerivateContextMenu extends CompoundContributionItem {
26 32

  
27 33
    private final IHandlerService handlerService = (IHandlerService) EditorUtil.getService(IHandlerService.class);
28
    private final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
29
    private final ISelection selection = window.getActivePage().getSelection();
30 34

  
31 35
    /* (non-Javadoc)
32 36
     * @see org.eclipse.ui.actions.CompoundContributionItem#getContributionItems()
......
37 41
                new ContributionItem() {
38 42
                    @Override
39 43
                    public void fill(Menu menu, int index) {
44
                        final IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
45
                        final ISelection selection = window.getActivePage().getSelection();
40 46
                        if(selection instanceof TreeSelection){
41 47
                            final Object selectedElement = ((TreeSelection) selection).getFirstElement();
42 48
                            //context menu for FieldUnit
......
50 56
                                        FieldUnit fieldUnit = HibernateProxyHelper.deproxy(selectedElement, FieldUnit.class);
51 57
                                        DerivedUnit specimen = DerivedUnit.NewInstance(SpecimenOrObservationType.PreservedSpecimen);
52 58
                                        fieldUnit.addDerivationEvent(DerivationEvent.NewSimpleInstance(fieldUnit, specimen, DerivationEventType.GATHERING_IN_SITU()));
59
                                        specimen.setCacheStrategy(new DerivedUnitFacadeCacheStrategy());
60
                                        specimen.getTitleCache(); //update title cache
61
                                        IEditorPart activeEditor = AbstractUtility.getActiveEditor();
62
                                        IWorkbenchPart activePart = AbstractUtility.getActivePart();
63
                                        CdmStore.getService(IOccurrenceService.class).saveOrUpdate(fieldUnit);
64
                                        if(activePart instanceof DerivateView){
65
                                            DerivateView derivateView = (DerivateView)activePart;
66
                                            derivateView.viewer.refresh();
67
                                        }
53 68
                                    }
54 69

  
55 70
                                    @Override

Also available in: Unified diff