Fix typo
authorPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 11:41:15 +0000 (13:41 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Wed, 7 Oct 2015 12:30:16 +0000 (14:30 +0200)
eu.etaxonomy.taxeditor.application/src/main/java/eu/etaxonomy/taxeditor/perspective/DerivatePerspective.java
eu.etaxonomy.taxeditor.store/META-INF/MANIFEST.MF
eu.etaxonomy.taxeditor.store/plugin.xml
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/newWizard/NewDerivedUnitBaseWizard.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchComposite.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchView.java [deleted file]
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivative/OccurrenceView.java [moved from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivative/OccurenceView.java with 68% similarity]

index b7e8509325d8fc11a5d1aac3eac2a9ea2a7063de..bbd88abc2f644d42f408ebdea0ed9ffbe379461e 100644 (file)
@@ -15,8 +15,8 @@ import org.eclipse.ui.progress.IProgressConstants;
 
 import eu.etaxonomy.taxeditor.editor.view.descriptive.DescriptiveViewPart;
 import eu.etaxonomy.taxeditor.navigation.navigator.TaxonNavigator;
-import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView;
 import eu.etaxonomy.taxeditor.view.datasource.CdmDataSourceViewPart;
+import eu.etaxonomy.taxeditor.view.derivative.OccurrenceView;
 import eu.etaxonomy.taxeditor.view.detail.DetailsViewPart;
 
 /**
@@ -30,16 +30,13 @@ public class DerivatePerspective extends Default {
 
     public static final String ADDITIONAL = "additional";
 
-    /* (non-Javadoc)
-     * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
-     */
     @Override
     public void createInitialLayout(IPageLayout layout) {
         layout.addView(TaxonNavigator.ID, IPageLayout.LEFT, 0.25f, layout.getEditorArea());
 
         layout.addView(DetailsViewPart.ID, IPageLayout.RIGHT, 0.6f, layout.getEditorArea());
 
-        layout.addView(DerivateSearchView.ID, IPageLayout.TOP, 0.5f, layout.getEditorArea());
+        layout.addView(OccurrenceView.ID, IPageLayout.BOTTOM, 0.5f, layout.getEditorArea());
 
         layout.addView(DescriptiveViewPart.ID, IPageLayout.BOTTOM, 0.6f, TaxonNavigator.ID);
 
index 06ed980ec4ec942ae9b88f965c63a5b93730ac35..c51b739fb55ffd379769b863e069ab855c53afcc 100644 (file)
@@ -53,6 +53,7 @@ Export-Package: eu.etaxonomy.cdm,
  eu.etaxonomy.taxeditor.view.datasource,
  eu.etaxonomy.taxeditor.view.datasource.handler,
  eu.etaxonomy.taxeditor.view.derivateSearch,
+ eu.etaxonomy.taxeditor.view.derivative,
  eu.etaxonomy.taxeditor.view.detail,
  eu.etaxonomy.taxeditor.view.specimenSearch,
  eu.etaxonomy.taxeditor.view.supplementaldata,
index f39b338e5a454f5626dc4d0a3d91f78651ebbf3d..6f285567dc0e396e8f6d2da0bb687e0c86b575dd 100644 (file)
         name="%view.name.5"
         restorable="true">
   </view>
-  <view
-        class="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
-        icon="icons/derivate_search_view-16x16-32.png"
-        id="eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView"
-        name="%view.name.6"
-        restorable="true">
-  </view>
   <view
         allowMultiple="false"
         class="eu.etaxonomy.taxeditor.view.sessions.SessionsViewPart"
         restorable="false">
   </view>
   <view
-        class="eu.etaxonomy.taxeditor.view.derivative.OccurenceView"
-        id="eu.etaxonomy.taxeditor.view.derivative.OccurenceView"
-        name="name"
+        class="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView"
+        id="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView"
+        name="Occurrence View"
         restorable="true">
   </view>
    </extension>
                   style="push">
                <parameter
                      name="org.eclipse.ui.views.showView.viewId"
-                     value="eu.etaxonomy.taxeditor.view.derivative.OccurenceView">
+                     value="eu.etaxonomy.taxeditor.view.derivative.OccurrenceView">
                </parameter>
                <visibleWhen
                      checkEnabled="true">
             </visibleWhen>
          </command>
       </menuContribution>
-      <menuContribution
-            allPopups="false"
-            locationURI="popup:eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView">
-         <command
-               commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-               label="%command.label.openInSpecimenEditor"
-               style="push">
-            <visibleWhen
-                  checkEnabled="true">
-               <with
-                     variable="selection">
-                  <count
-                        value="+">
-                  </count>
-               </with>
-            </visibleWhen>
-         </command>
-      </menuContribution>
    </extension>
    <extension
          point="org.eclipse.ui.handlers">
index 4905b26f77bfbe66ce559604d5affc2ab9a9b3b6..1189402b1c1e3793d27b491175161d479f3fdb37 100644 (file)
@@ -47,7 +47,6 @@ import eu.etaxonomy.taxeditor.ui.section.occurrence.DerivedUnitGeneralWizardPage
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitGeneralWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.FieldUnitWizardPage;
 import eu.etaxonomy.taxeditor.ui.section.occurrence.GatheringEventWizardPage;
-import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchCompositeController;
 
 /**
  * @author n.hoffmann
@@ -162,13 +161,13 @@ public class NewDerivedUnitBaseWizard extends AbstractNewEntityWizard<SpecimenOr
             try {
                 handlerService.executeCommand(parameterizedCommand, null);
             } catch (ExecutionException e) {
-                MessagingUtils.error(DerivateSearchCompositeController.class, e);
+                MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
             } catch (NotDefinedException e) {
-                MessagingUtils.error(DerivateSearchCompositeController.class, e);
+                MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
             } catch (NotEnabledException e) {
-                MessagingUtils.error(DerivateSearchCompositeController.class, e);
+                MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
             } catch (NotHandledException e) {
-                MessagingUtils.error(DerivateSearchCompositeController.class, e);
+                MessagingUtils.error(NewDerivedUnitBaseWizard.class, e);
             }
         }
         return performFinish;
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchComposite.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchComposite.java
deleted file mode 100644 (file)
index b101a22..0000000
+++ /dev/null
@@ -1,144 +0,0 @@
-// $Id$
-/**
- * Copyright (C) 2013 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.SelectionAdapter;
-import org.eclipse.swt.events.SelectionEvent;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.wb.swt.ResourceManager;
-
-/**
- * The widgets of the {@link DerivateSearchView}<br>
- *
- */
-public class DerivateSearchComposite extends Composite {
-    private final FormToolkit formToolkit = new FormToolkit(Display.getDefault());
-    private final Text searchField;
-    private final Table table;
-    private final TableViewer resultViewer;
-    private final Combo comboDerivateType;
-    private final Button buttonSearch;
-    private final Button btnFilterUndeterminedSpecimen;
-    private final Text textTaxonName;
-    private final Button btnBrowseTaxa;
-    private final Label lblTaxon;
-    private final Label lblDerivateType;
-    private final Button btnClearTaxon;
-
-    /**
-     * Create the composite.
-     * @param parent
-     * @param style
-     */
-    public DerivateSearchComposite(Composite parent, int style) {
-        super(parent, style);
-        setLayout(new GridLayout(4, false));
-
-        lblTaxon = new Label(this, SWT.NONE);
-        lblTaxon.setText("Taxon");
-
-        textTaxonName = formToolkit.createText(this, "New Text", SWT.NONE);
-        textTaxonName.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
-        textTaxonName.setEnabled(false);
-        textTaxonName.setText("");
-
-        btnBrowseTaxa = formToolkit.createButton(this, "", SWT.NONE);
-        btnBrowseTaxa.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/open.gif"));
-
-        btnClearTaxon = formToolkit.createButton(this, "", SWT.NONE);
-        btnClearTaxon.setLayoutData(new GridData(SWT.LEFT, SWT.TOP, false, false, 1, 1));
-        btnClearTaxon.setImage(ResourceManager.getPluginImage("eu.etaxonomy.taxeditor.store", "icons/trash.gif"));
-
-        lblDerivateType = new Label(this, SWT.NULL);
-        lblDerivateType.setText("Derivative Type");
-
-        comboDerivateType = new Combo(this, SWT.READ_ONLY);
-        comboDerivateType.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
-        formToolkit.paintBordersFor(comboDerivateType);
-
-        btnFilterUndeterminedSpecimen = new Button(this, SWT.CHECK);
-        btnFilterUndeterminedSpecimen.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 2, 1));
-        btnFilterUndeterminedSpecimen.addSelectionListener(new SelectionAdapter() {
-            @Override
-            public void widgetSelected(SelectionEvent e) {
-            }
-        });
-        btnFilterUndeterminedSpecimen.setText("Determined");
-
-                buttonSearch = new Button(this, SWT.NONE);
-                formToolkit.adapt(buttonSearch, true, true);
-                buttonSearch.setText("Search");
-
-                searchField = formToolkit.createText(this, "New Text", SWT.NONE);
-                searchField.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1));
-                searchField.setText("");
-                new Label(this, SWT.NONE);
-                new Label(this, SWT.NONE);
-
-                resultViewer = new TableViewer(this, SWT.BORDER | SWT.FULL_SELECTION | SWT.MULTI);
-                table = resultViewer.getTable();
-                table.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));
-
-    }
-
-    @Override
-    protected void checkSubclass() {
-        // Disable the check that prevents subclassing of SWT components
-    }
-    public Text getSearchField() {
-        return searchField;
-    }
-    public TableViewer getResultViewer() {
-        return resultViewer;
-    }
-    public Combo getComboDerivateType() {
-        return comboDerivateType;
-    }
-    public Button getButtonSearch() {
-        return buttonSearch;
-    }
-
-    @Override
-    public void setEnabled(boolean enabled){
-        super.setEnabled(enabled);
-        searchField.setEnabled(enabled);
-        table.setEnabled(enabled);
-        //        resultViewer.setEnabled(enabled);
-        comboDerivateType.setEnabled(enabled);
-        buttonSearch.setEnabled(enabled);
-        btnFilterUndeterminedSpecimen.setEnabled(enabled);
-        btnBrowseTaxa.setEnabled(enabled);
-        lblTaxon.setEnabled(enabled);
-        lblDerivateType.setEnabled(enabled);
-    }
-    public Button getBtnFilterUndeterminedSpecimen() {
-        return btnFilterUndeterminedSpecimen;
-    }
-    public Button getBtnBrowseTaxa() {
-        return btnBrowseTaxa;
-    }
-    public Text getTextTaxonName() {
-        return textTaxonName;
-    }
-    public Button getBtnClearTaxon() {
-        return btnClearTaxon;
-    }
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchCompositeController.java
deleted file mode 100644 (file)
index d49716a..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-// $Id$
-/**
-* Copyright (C) 2013 EDIT
-* European Distributed Institute of Taxonomy
-* http://www.e-taxonomy.eu
-*
-* The contents of this file are subject to the Mozilla Public License Version 1.1
-* See LICENSE.TXT at the top of this package for the full license terms.
-*/
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.commands.NotEnabledException;
-import org.eclipse.core.commands.NotHandledException;
-import org.eclipse.core.commands.common.NotDefinedException;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.DoubleClickEvent;
-import org.eclipse.jface.viewers.IDoubleClickListener;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Listener;
-import org.eclipse.swt.widgets.Widget;
-import org.eclipse.ui.handlers.IHandlerService;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.service.IOccurrenceService;
-import eu.etaxonomy.cdm.api.service.config.FindOccurrencesConfigurator;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationType;
-import eu.etaxonomy.cdm.model.taxon.Taxon;
-import eu.etaxonomy.taxeditor.model.AbstractUtility;
-import eu.etaxonomy.taxeditor.model.MessagingUtils;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-import eu.etaxonomy.taxeditor.store.SearchManager;
-import eu.etaxonomy.taxeditor.ui.dialog.selection.SelectionDialogFactory;
-import eu.etaxonomy.taxeditor.ui.mvc.combo.EnumTermComboController;
-
-/**
- * Controller class for the {@link DerivateSearchComposite}.<br>
- * This controller contains the logic to search the data base for {@link SpecimenOrObservationBase}s
- * and handles GUI events.
- *
- */
-public class DerivateSearchCompositeController implements Listener{
-
-    private final DerivateSearchComposite derivateSearchComposite;
-    private EnumTermComboController<SpecimenOrObservationType> comboSpecimenTypeController;
-    private final DerivateSearchView derivateSearchView;
-       private DerivateLabelProvider labelProvider;
-       private Taxon selectedTaxon;
-
-    /**
-     * @param parent
-     * @param derivateSearchView
-     */
-    public DerivateSearchCompositeController(Composite parent, DerivateSearchView derivateSearchView) {
-        this.derivateSearchComposite = new DerivateSearchComposite(parent, SWT.NONE);
-        this.derivateSearchView = derivateSearchView;
-        init();
-    }
-
-    private void init(){
-        //derivate type combo
-        comboSpecimenTypeController = new EnumTermComboController<SpecimenOrObservationType>(derivateSearchComposite.getComboDerivateType(), null, null, SpecimenOrObservationType.class, 0);
-        comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
-
-        //add listeners
-        derivateSearchComposite.getSearchField().addListener(SWT.KeyDown, this);
-        derivateSearchComposite.getButtonSearch().addListener(SWT.Selection, this);
-        derivateSearchComposite.getBtnBrowseTaxa().addListener(SWT.Selection, this);
-        derivateSearchComposite.getBtnClearTaxon().addListener(SWT.Selection, this);
-
-
-        //result table
-        TableViewer resultViewer = derivateSearchComposite.getResultViewer();
-        resultViewer.setContentProvider(new ArrayContentProvider());
-        labelProvider = new DerivateLabelProvider();
-        resultViewer.setLabelProvider(labelProvider);
-        resultViewer.addDoubleClickListener(new IDoubleClickListener() {
-            @Override
-            public void doubleClick(DoubleClickEvent event) {
-                String commandId = "eu.etaxonomy.taxeditor.editor.handler.openDerivateView";
-
-                IHandlerService handlerService = (IHandlerService) AbstractUtility.getService(IHandlerService.class);
-                try {
-                    handlerService.executeCommand(commandId, null);
-                } catch (ExecutionException e) {
-                    MessagingUtils.error(DerivateSearchCompositeController.class, e);
-                } catch (NotDefinedException e) {
-                    MessagingUtils.error(DerivateSearchCompositeController.class, e);
-                } catch (NotEnabledException e) {
-                    MessagingUtils.error(DerivateSearchCompositeController.class, e);
-                } catch (NotHandledException e) {
-                    MessagingUtils.error(DerivateSearchCompositeController.class, e);
-                }
-
-            }
-        });
-
-    }
-
-    private void searchDerivates(){
-        if(!derivateSearchView.getConversationHolder().isBound()){
-            derivateSearchView.setFocus(); //rebind the conversation
-        }
-
-        String queryString = derivateSearchComposite.getSearchField().getText();
-        SpecimenOrObservationType specimenType = comboSpecimenTypeController.getSelection();
-
-        FindOccurrencesConfigurator config = new FindOccurrencesConfigurator();
-        config.setAssociatedTaxonUuid(selectedTaxon!=null?selectedTaxon.getUuid():null);
-        config.setSpecimenType(specimenType.equals(SpecimenOrObservationType.Unknown)?null:specimenType);//unknown := all types
-        config.setTitleSearchString(queryString);
-        if(selectedTaxon!=null){
-            config.setRetrieveIndirectlyAssociatedSpecimens(true);
-            config.setSpecimenType(null);
-        }
-
-        SearchManager searchManager = new SearchManager();
-        List<SpecimenOrObservationBase> occurrences = searchManager.findOccurrences(config, true);
-
-        //filter out specimens of wrong type (only if an associated taxon was selected)
-        if(selectedTaxon!=null && !specimenType.equals(SpecimenOrObservationType.Unknown)){
-            List<SpecimenOrObservationBase> specimensOfCorrectType = new ArrayList<SpecimenOrObservationBase>();
-            for(SpecimenOrObservationBase<?> occurrence:occurrences){
-                if(occurrence.getRecordBasis().equals(specimenType)
-                        || occurrence.getRecordBasis().isKindOf(specimenType)){
-                    specimensOfCorrectType.add(occurrence);
-                }
-            }
-            occurrences = specimensOfCorrectType;
-        }
-
-        //filter out assigned specimens
-        if(derivateSearchComposite.getBtnFilterUndeterminedSpecimen().getSelection()){
-            List<SpecimenOrObservationBase> specimensWithNoDetermination = new ArrayList<SpecimenOrObservationBase>();
-            for(SpecimenOrObservationBase<?> result:occurrences){
-                if(CdmStore.getService(IOccurrenceService.class).countDeterminations(result, null)==0){
-                    specimensWithNoDetermination.add(result);
-                }
-            }
-            occurrences = specimensWithNoDetermination;
-        }
-        derivateSearchComposite.getResultViewer().setInput(occurrences);
-    }
-
-    @Override
-    public void handleEvent(Event event) {
-        Widget eventSource = event.widget;
-        if(eventSource == derivateSearchComposite.getButtonSearch()
-                || (eventSource == derivateSearchComposite.getSearchField() && event.keyCode == SWT.CR)){
-            searchDerivates();
-        }
-        else if(eventSource==derivateSearchComposite.getBtnBrowseTaxa()){
-            selectedTaxon = SelectionDialogFactory.getSelectionFromDialog(Taxon.class, derivateSearchView.getSite().getShell(), derivateSearchView.getConversationHolder(), null);
-            if(selectedTaxon!=null){
-                derivateSearchComposite.getTextTaxonName().setText(selectedTaxon.getTitleCache());
-            }
-        }
-        else if(eventSource==derivateSearchComposite.getBtnClearTaxon()){
-            selectedTaxon = null;
-            derivateSearchComposite.getTextTaxonName().setText("");
-        }
-    }
-
-    /**
-     * Sets enable status of all input fields
-     * @param enabled
-     */
-    public void setEnabled(boolean enabled) {
-        if(!derivateSearchComposite.isDisposed()){
-            derivateSearchComposite.setEnabled(enabled);
-        }
-    }
-
-    /**
-     * Resets all input fields
-     */
-    public void reset(){
-        if(!derivateSearchComposite.isDisposed()){
-            derivateSearchComposite.getResultViewer().setInput(null);
-            derivateSearchComposite.getSearchField().setText("");
-            derivateSearchComposite.getComboDerivateType().deselectAll();
-            comboSpecimenTypeController.setSelection(SpecimenOrObservationType.Unknown);
-        }
-        selectedTaxon = null;
-    }
-
-    public TableViewer getResultViewer() {
-        return derivateSearchComposite.getResultViewer();
-    }
-
-    public void setFocus() {
-        derivateSearchComposite.getResultViewer().getControl().setFocus();
-    }
-
-    /**
-     * @param conversationHolder
-     */
-    public void setConversation(ConversationHolder conversationHolder) {
-        labelProvider.setConversation(conversationHolder);
-    }
-
-}
diff --git a/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchView.java b/eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivateSearch/DerivateSearchView.java
deleted file mode 100644 (file)
index 8a14a5a..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-// $Id$
-/**
- * Copyright (C) 2013 EDIT
- * European Distributed Institute of Taxonomy
- * http://www.e-taxonomy.eu
- *
- * The contents of this file are subject to the Mozilla Public License Version 1.1
- * See LICENSE.TXT at the top of this package for the full license terms.
- */
-package eu.etaxonomy.taxeditor.view.derivateSearch;
-
-import java.util.Collection;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.jface.action.MenuManager;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Menu;
-import org.eclipse.ui.IMemento;
-import org.eclipse.ui.part.ViewPart;
-
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.model.common.CdmBase;
-import eu.etaxonomy.cdm.model.occurrence.SpecimenOrObservationBase;
-import eu.etaxonomy.taxeditor.model.IContextListener;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySession;
-import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
-import eu.etaxonomy.taxeditor.store.CdmStore;
-
-/**
- * This view allows to search for and filter {@link SpecimenOrObservationBase}s and display
- * the results in a list. The results can be selected and opened in an editor.
- */
-public class DerivateSearchView extends ViewPart implements IContextListener, ICdmEntitySessionEnabled {
-
-    public static final String ID = "eu.etaxonomy.taxeditor.view.derivateSearch.DerivateSearchView";
-    private DerivateSearchCompositeController derivateSearchCompositeController;
-    private ConversationHolder conversationHolder;
-    private ICdmEntitySession cdmEntitySession;
-
-    /**
-     * Constructs a new DerivateSearchView and registers it to listen to context changes
-     */
-    public DerivateSearchView() {
-        CdmStore.getContextManager().addContextListener(this);
-    }
-
-    @Override
-    public void createPartControl(Composite parent) {
-
-        derivateSearchCompositeController = new DerivateSearchCompositeController(parent, this);
-        getSite().setSelectionProvider(derivateSearchCompositeController.getResultViewer());
-        derivateSearchCompositeController.setEnabled(CdmStore.isActive());
-
-        //create context menu
-        MenuManager menuManager = new MenuManager();
-        getSite().registerContextMenu(menuManager, derivateSearchCompositeController.getResultViewer());
-        Control control = derivateSearchCompositeController.getResultViewer().getControl();
-        Menu menu = menuManager.createContextMenu(control);
-        control.setMenu(menu);
-    }
-
-    @Override
-    public void setFocus() {
-        derivateSearchCompositeController.setFocus();
-        //make sure to bind again if maybe in another view the conversation was unbound
-        if(getConversationHolder()!=null && !getConversationHolder().isClosed() && !getConversationHolder().isBound()){
-            getConversationHolder().bind();
-        }
-        if(getCdmEntitySession() != null) {
-            getCdmEntitySession().bind();
-        }
-    }
-
-    @Override
-    public void contextAboutToStop(IMemento memento, IProgressMonitor monitor) {
-    }
-
-    @Override
-    public void contextStop(IMemento memento, IProgressMonitor monitor) {
-        derivateSearchCompositeController.setEnabled(false);
-        derivateSearchCompositeController.reset();
-    }
-
-    @Override
-    public void contextStart(IMemento memento, IProgressMonitor monitor) {
-        derivateSearchCompositeController.setEnabled(true);
-    }
-
-    @Override
-    public void contextRefresh(IProgressMonitor monitor) {
-        initConversation();
-        initSession();
-    }
-
-    private void initSession() {
-        if(CdmStore.isActive()) {
-            cdmEntitySession = CdmStore.getCurrentSessionManager().newSession(this, true);
-        }
-    }
-
-    private void initConversation(){
-        if(conversationHolder==null){
-            conversationHolder = CdmStore.createConversation();
-            derivateSearchCompositeController.setConversation(conversationHolder);
-        }
-    }
-
-    @Override
-    public void workbenchShutdown(IMemento memento, IProgressMonitor monitor) {
-    }
-
-    public ConversationHolder getConversationHolder() {
-        if(CdmStore.isActive() && conversationHolder==null){
-            initConversation();
-        }
-        return conversationHolder;
-    }
-
-
-    @Override
-    public void dispose() {
-        if(conversationHolder!=null){
-            conversationHolder.close();
-        }
-
-        if(cdmEntitySession != null) {
-            cdmEntitySession.dispose();
-        }
-        super.dispose();
-    }
-
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getCdmEntitySession()
-     */
-    @Override
-    public ICdmEntitySession getCdmEntitySession() {
-        initSession();
-        return cdmEntitySession;
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getRootEntities()
-     */
-    @Override
-    public <T extends CdmBase> Collection<T> getRootEntities() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-
-    /* (non-Javadoc)
-     * @see eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled#getPropertyPathsMap()
-     */
-    @Override
-    public Map<Object, List<String>> getPropertyPathsMap() {
-        // TODO Auto-generated method stub
-        return null;
-    }
-}
similarity index 68%
rename from eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivative/OccurenceView.java
rename to eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/derivative/OccurrenceView.java
index b737a2212ff20295c47051f1fe3fdcf39d818ce7..e0641a75b5087cb49a0e21a4d734c657819d036e 100644 (file)
@@ -11,8 +11,7 @@ package eu.etaxonomy.taxeditor.view.derivative;
 
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.AbstractTreeViewer;
-import org.eclipse.jface.viewers.ISelectionChangedListener;
-import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.ISelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.layout.GridData;
@@ -20,12 +19,11 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Menu;
 import org.eclipse.swt.widgets.Tree;
+import org.eclipse.ui.ISelectionListener;
+import org.eclipse.ui.ISelectionService;
+import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.part.ViewPart;
 
-import eu.etaxonomy.cdm.api.conversation.ConversationHolder;
-import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
-import eu.etaxonomy.cdm.persistence.hibernate.CdmDataChangeMap;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateContentProvider;
 import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
 
@@ -34,22 +32,26 @@ import eu.etaxonomy.taxeditor.view.derivateSearch.DerivateLabelProvider;
  * @date Oct 7, 2015
  *
  */
-public class OccurenceView extends ViewPart implements IConversationEnabled, ISelectionChangedListener{
+public class OccurrenceView extends ViewPart implements ISelectionListener{
+
+    public static String ID = "eu.etaxonomy.taxeditor.view.derivative.OccurrenceView";
 
     private TreeViewer viewer;
     private DerivateContentProvider contentProvider;
     private DerivateLabelProvider labelProvider;
-    private ConversationHolder conversation;
 
-    public OccurenceView() {
-        conversation = CdmStore.createConversation();
-    }
+    private ISelectionService selectionService;
 
     /**
      * {@inheritDoc}
      */
     @Override
     public void createPartControl(Composite parent) {
+
+        //listen to selection changes
+        selectionService = getSite().getWorkbenchWindow().getSelectionService();
+        selectionService.addSelectionListener(this);
+
       //---tree viewer---
         viewer = new TreeViewer(new Tree(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION));
         GridData gridDataTree = new GridData();
@@ -61,13 +63,10 @@ public class OccurenceView extends ViewPart implements IConversationEnabled, ISe
         contentProvider = new DerivateContentProvider();
         viewer.setContentProvider(contentProvider);
         labelProvider = new DerivateLabelProvider();
-        labelProvider.setConversation(conversation);
         viewer.setLabelProvider(labelProvider);
         viewer.setAutoExpandLevel(AbstractTreeViewer.ALL_LEVELS);
         // Propagate selection from viewer
         getSite().setSelectionProvider(viewer);
-        //listen to selection changes
-        viewer.addSelectionChangedListener(this);
 
         //create context menu
         MenuManager menuManager = new MenuManager();
@@ -83,24 +82,6 @@ public class OccurenceView extends ViewPart implements IConversationEnabled, ISe
      */
     @Override
     public void setFocus() {
-        if(!conversation.isClosed()){
-            conversation.bind();
-        }
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public void update(CdmDataChangeMap arg0) {
-    }
-
-    /**
-     * {@inheritDoc}
-     */
-    @Override
-    public ConversationHolder getConversationHolder() {
-        return conversation;
     }
 
     /**
@@ -108,17 +89,14 @@ public class OccurenceView extends ViewPart implements IConversationEnabled, ISe
      */
     @Override
     public void dispose() {
-        if(conversation.isBound() && !conversation.isClosed()){
-            conversation.close();
-        }
+        selectionService.removeSelectionListener(this);
     }
 
     /**
      * {@inheritDoc}
      */
     @Override
-    public void selectionChanged(SelectionChangedEvent event) {
-
+    public void selectionChanged(IWorkbenchPart part, ISelection selection) {
+        System.out.println(selection);
     }
-
 }