Some refactoring and started on implementing images for specimen.
authorn.hoffmann <n.hoffmann@localhost>
Tue, 8 Feb 2011 11:01:46 +0000 (11:01 +0000)
committern.hoffmann <n.hoffmann@localhost>
Tue, 8 Feb 2011 11:01:46 +0000 (11:01 +0000)
14 files changed:
.gitattributes
taxeditor-bulkeditor/plugin.xml
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/PropertyTester.java [new file with mode: 0644]
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java [new file with mode: 0644]
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java [new file with mode: 0644]
taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/referencingobjects/ReferencingObjectsView.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/EditorUtil.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/handler/NameEditorMenuPropertyTester.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/name/operation/ChangeSynonymToAcceptedTaxonOperation.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/detail/DetailsViewPart.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/MediaViewPart.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/media/handler/AddImageGalleryHandler.java
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/supplementaldata/SupplementalDataViewPart.java
taxeditor-store/src/main/java/eu/etaxonomy/taxeditor/model/AbstractCdmViewPart.java

index 895763d8e6c85ad5b9fc6d6b7721e5a91cfa8977..75499b9173614c12747cbf74c6d7e8e4c6ff4f4e 100644 (file)
@@ -82,12 +82,15 @@ taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorU
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/BulkEditorViewerConfiguration.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorConstants.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/IBulkEditorSortProvider.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/PropertyTester.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorInputTypeValues.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/BulkEditorPropertyTester.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DeleteObjectContributionItem.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicMarkerTypeEditingMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/DynamicNewObjectMenu.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/command/OpenBulkEditorContributionItem.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java -text
+taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/MergeGroupHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/OpenBulkEditorHandler.java -text
 taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/handler/RemoveMergeCandidateHandler.java -text
index 8131754dfa0783b67aad9d98ada85cec79a6d133..905baaa9aadf809c21f1d4987b51d89d5a12669b 100644 (file)
             id="eu.etaxonomy.taxeditor.preferences.bulkeditor.general"\r
             name="Bulk Editor">\r
       </page>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.menus">\r
+      <menuContribution\r
+            allPopups="false"\r
+            locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">\r
+         <command\r
+               commandId="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
+               label="Add Derived Unit Media"\r
+               style="push">\r
+            <visibleWhen\r
+                  checkEnabled="false">\r
+               <test\r
+                     property="eu.etaxonomy.taxeditor.bulkeditor.propertyTester.isDerivedUnitEditor">\r
+               </test>\r
+            </visibleWhen>\r
+         </command>\r
+      </menuContribution>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.ui.commands">\r
+      <command\r
+            defaultHandler="eu.etaxonomy.taxeditor.bulkeditor.derivedunit.handler.AddDerivedUnitMediaHandler"\r
+            id="eu.etaxonomy.taxeditor.bulkeditor.command.derivedunit.addDerivedUnitMedia"\r
+            name="Add Derived Unit Media">\r
+      </command>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.core.expressions.propertyTesters">\r
+      <propertyTester\r
+            class="eu.etaxonomy.taxeditor.bulkeditor.PropertyTester"\r
+            id="eu.etaxonomy.taxeditor.bulkeditor.propertyTester"\r
+            namespace="eu.etaxonomy.taxeditor.bulkeditor.propertyTester"\r
+            properties="isDerivedUnitEditor"\r
+            type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">\r
+      </propertyTester>\r
+   </extension>\r
+   <extension\r
+         point="org.eclipse.core.expressions.definitions">\r
    </extension>
 <!-- start set marker -->\r
 \r
diff --git a/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/PropertyTester.java b/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/PropertyTester.java
new file mode 100644 (file)
index 0000000..fe5333c
--- /dev/null
@@ -0,0 +1,23 @@
+
+package eu.etaxonomy.taxeditor.bulkeditor;
+
+import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
+
+public class PropertyTester extends org.eclipse.core.expressions.PropertyTester {
+
+       public static final String IS_DERIVED_UNIT_EDITOR = "isDerivedUnitEditor";
+       
+       @Override
+       public boolean test(Object receiver, String property, Object[] args,
+                       Object expectedValue) {
+               
+               BulkEditor editor = (BulkEditor) receiver;
+               
+               if(IS_DERIVED_UNIT_EDITOR.equals(property)){
+                       return editor.getEditorInput() instanceof OccurrenceEditorInput;
+               }
+               
+               return false;
+       }
+
+}
diff --git a/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java b/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/handler/AddDerivedUnitMediaHandler.java
new file mode 100644 (file)
index 0000000..9b02d73
--- /dev/null
@@ -0,0 +1,76 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.bulkeditor.derivedunit.handler;
+
+import org.eclipse.core.commands.AbstractHandler;
+import org.eclipse.core.commands.ExecutionEvent;
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.IEditorPart;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.SpecimenDescription;
+import eu.etaxonomy.cdm.model.description.TextData;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.bulkeditor.derivedunit.operation.AddDerivedUnitMediaOperation;
+import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+
+/**
+ * @author n.hoffmann
+ * @created Feb 7, 2011
+ * @version 1.0
+ */
+public class AddDerivedUnitMediaHandler extends AbstractHandler {
+
+       /* (non-Javadoc)
+        * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
+        */
+       @Override
+       public Object execute(ExecutionEvent event) throws ExecutionException {
+               IWorkbenchPart part = HandlerUtil.getActivePart(event);
+               IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
+               
+               
+               IEditorPart editor = HandlerUtil.getActiveEditor(event);
+               IEditorInput input = editor.getEditorInput();
+               
+               if(input instanceof OccurrenceEditorInput){
+                       BulkEditor bulkEditor = (BulkEditor) editor;
+                       ISelection selection = bulkEditor.getSelectionProvider().getSelection();
+                       
+                       if(selection instanceof IStructuredSelection){
+                               Object element = ((IStructuredSelection) selection).getFirstElement();
+                               if(element instanceof DerivedUnitBase){
+                                       
+                                       try{
+                                               AbstractPostOperation operation = new AddDerivedUnitMediaOperation(event.getCommand().getName(), BulkEditorUtil.getUndoContext(), (DerivedUnitBase) element, postOperationEnabled);
+                                               BulkEditorUtil.executeOperation(operation);
+                                       } catch (NotDefinedException e) {
+                                               BulkEditorUtil.warn(getClass(), "Command name not set.");
+                                       }                                       
+                               }
+                       }
+               }
+               return null;
+       }
+
+}
diff --git a/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java b/taxeditor-bulkeditor/src/main/java/eu/etaxonomy/taxeditor/bulkeditor/derivedunit/operation/AddDerivedUnitMediaOperation.java
new file mode 100644 (file)
index 0000000..9369b16
--- /dev/null
@@ -0,0 +1,100 @@
+// $Id$
+/**
+* Copyright (C) 2007 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.bulkeditor.derivedunit.operation;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.commands.operations.IUndoContext;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.SpecimenDescription;
+import eu.etaxonomy.cdm.model.description.TextData;
+import eu.etaxonomy.cdm.model.media.Media;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditorUtil;
+import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
+import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
+
+/**
+ * @author n.hoffmann
+ * @created Feb 7, 2011
+ * @version 1.0
+ */
+public class AddDerivedUnitMediaOperation extends AbstractPostOperation {
+
+       private DerivedUnitBase derivedUnit;
+
+       /**
+        * @param label
+        * @param undoContext
+        * @param postOperationEnabled
+        */
+       public AddDerivedUnitMediaOperation(String label, IUndoContext undoContext, DerivedUnitBase derivedUnit,
+                       IPostOperationEnabled postOperationEnabled) {
+               super(label, undoContext, postOperationEnabled);
+               
+               this.derivedUnit = derivedUnit;
+               
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+        */
+       @Override
+       public IStatus execute(IProgressMonitor monitor, IAdaptable info)
+                       throws ExecutionException {
+
+               DerivedUnitFacade facade;
+               try {
+                       facade = DerivedUnitFacade.NewInstance(derivedUnit);
+
+                       SpecimenDescription imageGallery = facade.getDerivedUnitImageGallery(true);
+                       
+                       TextData element = TextData.NewInstance(Feature.IMAGE());
+                       
+                       Media media = Media.NewInstance();
+                       
+                       element.addMedia(media);                        
+                       
+                       imageGallery.addElement(element);
+                       
+               } catch (DerivedUnitFacadeNotSupportedException e) {
+                       BulkEditorUtil.error(getClass(), e);
+               }
+               
+               return postExecute(derivedUnit);
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+        */
+       @Override
+       public IStatus redo(IProgressMonitor monitor, IAdaptable info)
+                       throws ExecutionException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       /* (non-Javadoc)
+        * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+        */
+       @Override
+       public IStatus undo(IProgressMonitor monitor, IAdaptable info)
+                       throws ExecutionException {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+}
index 8f48fb32a96c55931ed753e03fc5529aeb99c0d1..312ac49e6c0644f291349289d15be2852f5833a1 100644 (file)
@@ -211,12 +211,10 @@ public class ReferencingObjectsView extends AbstractCdmViewPart implements ISele
         */
        /** {@inheritDoc} */
        @Override
-       public void showViewer(IWorkbenchPart part, ISelection selection) {
+       public void showViewer(IWorkbenchPart part, IStructuredSelection selection) {
                this.part = part;
                
-               IStructuredSelection structuredSelection = (IStructuredSelection) selection;
-               
-               updateReferencingObjects((IdentifiableEntity) structuredSelection.getFirstElement());
+               updateReferencingObjects((IdentifiableEntity) selection.getFirstElement());
        }
        
        /** {@inheritDoc} */
index ea55d9c771543fe91f57b2d35fb98aad882af7ce..ed249d9420501f13c7c56debb0dcbedb65980c5c 100644 (file)
@@ -31,7 +31,6 @@ import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditor;
 import eu.etaxonomy.taxeditor.editor.key.polytomous.PolytomousKeyEditorInput;
 import eu.etaxonomy.taxeditor.editor.view.AbstractCdmDataViewer;
 import eu.etaxonomy.taxeditor.editor.view.detail.DetailsViewPart;
-import eu.etaxonomy.taxeditor.editor.view.detail.DetailsViewer;
 import eu.etaxonomy.taxeditor.editor.view.supplementaldata.SupplementalDataViewPart;
 import eu.etaxonomy.taxeditor.model.AbstractUtility;
 
@@ -197,7 +196,7 @@ public class EditorUtil extends AbstractUtility{
        public static IEditorPart getActiveEditorPage(Page page){
                MultiPageTaxonEditor editor = getActiveMultiPageTaxonEditor();
                
-               return editor.getPage(page);
+               return editor != null ? editor.getPage(page) : null;
        }
        
        /**
@@ -267,14 +266,18 @@ public class EditorUtil extends AbstractUtility{
         * <p>refreshDetailsViewer</p>
         */
        public static void refreshDetailsViewer(){
-               ((AbstractCdmDataViewer) getDetailsView().getViewer()).refresh();
+               if(getDetailsView() != null){
+                       ((AbstractCdmDataViewer) getDetailsView().getViewer()).refresh();
+               }
        }
        
        /**
         * <p>reflowDetailsViewer</p>
         */
        public static void reflowDetailsViewer(){
-               ((DetailsViewer) getDetailsView().getViewer()).reflow();
+               if(getDetailsView() != null){
+                       ((AbstractCdmDataViewer) getDetailsView().getViewer()).reflow();
+               }
        }
        
        public static SupplementalDataViewPart getSupplementalDataView(){
@@ -282,7 +285,9 @@ public class EditorUtil extends AbstractUtility{
        }
        
        public static void reflowSupplementalViewer(){
-               ((AbstractCdmDataViewer) getSupplementalDataView().getViewer()).reflow();
+               if(getSupplementalDataView() != null){
+                       ((AbstractCdmDataViewer) getSupplementalDataView().getViewer()).reflow();
+               }
        }
        
        
index 59ae7296b4ea8a945861f74e21fcf33fd2b3d096..b2950fceacc0d24b89d356fb4b4cb9a9ebb32c2d 100644 (file)
@@ -85,7 +85,8 @@ public class NameEditorMenuPropertyTester extends org.eclipse.core.expressions.P
         * @return
         */
        private boolean hasEmptyNames(Object receiver) {
-               return ((TaxonNameEditor) EditorUtil.getActiveEditorPage(Page.NAME)).checkForEmptyNames();
+               TaxonNameEditor editor = (TaxonNameEditor) EditorUtil.getActiveEditorPage(Page.NAME);
+               return editor == null ? false : editor.checkForEmptyNames();
        }
 
        private boolean isRelatedConcept(Object selectedElement) {
index 3cbdc5f0d923e53acbdbe219fe9679c8c520b037..c34407292d7565149eadcd8625c0263645859468 100644 (file)
@@ -73,7 +73,7 @@ public class ChangeSynonymToAcceptedTaxonOperation extends AbstractPersistentPos
        public IStatus execute(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
                
-               newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon);
+               newTaxon = CdmStore.getService(ITaxonService.class).changeSynonymToAcceptedTaxon(synonym, taxon, true, true, null, null);
                monitor.worked(20);
                
 //             synonym.setSec(null);
index aa1640eb895a86b31f3cdbf38a96785fc2d4ca2c..1199efb50efcfaca15041d6dcb84fd4c47be4dc9 100644 (file)
@@ -63,14 +63,16 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
                        return;
                }
                
+               IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+               
                if((part instanceof IEditorPart) || (part instanceof AbstractCdmViewPart)) {
-                       if(((IStructuredSelection) selection).size() != 1){
+                       if(structuredSelection.size() != 1){
                                showEmptyPage();
                                return;
                        }
                        
                        // do not show details for feature nodes TODO really? 
-                       if(((IStructuredSelection) selection).getFirstElement() instanceof FeatureNodeContainer){
+                       if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){
                                // do show the map for distributions
                                Feature feature = ((FeatureNodeContainer) ((IStructuredSelection) selection).getFirstElement()).getFeature();
                                if(!feature.equals(Feature.DISTRIBUTION())){
@@ -79,7 +81,7 @@ public class DetailsViewPart extends AbstractCdmEditorViewPart implements IPartC
                                }
                        }
                        
-                       showViewer(part, selection);
+                       showViewer(part, structuredSelection);
                }else{
                        showEmptyPage();                
                }       
index 4a3004b022632eedb1e35dcc27b6c0ee1d7ea3a6..47051e5b705d4f390a9c0ba750a3ead1b8d51293 100644 (file)
@@ -13,6 +13,7 @@ package eu.etaxonomy.taxeditor.editor.view.media;
 import org.eclipse.jface.action.GroupMarker;
 import org.eclipse.jface.action.MenuManager;
 import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.viewers.StructuredSelection;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.Viewer;
@@ -100,8 +101,8 @@ public class MediaViewPart extends AbstractCdmEditorViewPart implements IPartCon
                        showViewer(part, new StructuredSelection(input));
                }
 
-               if(part instanceof BulkEditor){
-                       showViewer(part, selection);
+               if(part instanceof BulkEditor && selection instanceof IStructuredSelection){
+                       showViewer(part, (IStructuredSelection) selection);
                }
        }
 
index ba294b8ae55cac3adb2528f14588aa302348b33d..234dfb2388d52dcfa47db2197aebc4545839a062 100644 (file)
@@ -7,13 +7,22 @@ import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.common.NotDefinedException;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.ui.IEditorInput;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.forms.editor.FormEditor;
 import org.eclipse.ui.handlers.HandlerUtil;
 
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacade;
+import eu.etaxonomy.cdm.api.facade.DerivedUnitFacadeNotSupportedException;
+import eu.etaxonomy.cdm.model.description.Feature;
+import eu.etaxonomy.cdm.model.description.SpecimenDescription;
+import eu.etaxonomy.cdm.model.description.TextData;
+import eu.etaxonomy.cdm.model.occurrence.DerivedUnitBase;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.bulkeditor.BulkEditor;
+import eu.etaxonomy.taxeditor.bulkeditor.input.OccurrenceEditorInput;
 import eu.etaxonomy.taxeditor.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
 import eu.etaxonomy.taxeditor.editor.view.descriptive.operation.CreateTaxonDescriptionOperation;
@@ -33,14 +42,12 @@ public class AddImageGalleryHandler extends AbstractHandler {
         */
        /** {@inheritDoc} */
        public Object execute(ExecutionEvent event) throws ExecutionException {
+
                IWorkbenchPart part = HandlerUtil.getActivePart(event);
                IPostOperationEnabled postOperationEnabled = (part instanceof IPostOperationEnabled) ? (IPostOperationEnabled) part : null;
                
                
                IEditorPart editor = HandlerUtil.getActiveEditor(event);
-               if (editor instanceof FormEditor) {
-                       editor = ((FormEditor) editor).getActiveEditor();
-               }
                IEditorInput input = editor.getEditorInput();
                if (input instanceof TaxonEditorInput) {
                        Taxon taxon = ((TaxonEditorInput) input).getTaxon();    
index 867e7bcf24abaf63e4bdf24a52f1bcda07264ee1..b2a16bb8537b135d264f0188cbda4811b3b81ec5 100644 (file)
@@ -56,21 +56,22 @@ public class SupplementalDataViewPart extends AbstractCdmEditorViewPart {
                }
                
                if(((part instanceof EditorPart) || (part instanceof AbstractCdmViewPart)) && selection instanceof IStructuredSelection) {
-                       if(((IStructuredSelection) selection).size() != 1){
+                       IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+                       if(structuredSelection.size() != 1){
                                showEmptyPage();
                                return;
                        }
                        
                        // do not show supplemental data for feature nodes
-                       if(((IStructuredSelection) selection).getFirstElement() instanceof FeatureNodeContainer){
+                       if(structuredSelection.getFirstElement() instanceof FeatureNodeContainer){
                                showEmptyPage();
                                return;
                        }
-                       if(((IStructuredSelection) selection).getFirstElement() instanceof DerivedUnitFacade){
+                       if(structuredSelection.getFirstElement() instanceof DerivedUnitFacade){
                                return;
                        }
                        
-                       showViewer(part, selection);
+                       showViewer(part, structuredSelection);
                }else{
                        showEmptyPage();                
                }
index 360a2f61e1eaa5cc53c0e961ffcb0636179b89f5..4fd1f574c644c016a2f4c32038d7ecc5d5dca2af 100644 (file)
@@ -98,12 +98,12 @@ public abstract class AbstractCdmViewPart extends ViewPart implements ISelection
      * @param part a {@link org.eclipse.ui.IWorkbenchPart} object.
      * @param selection a {@link org.eclipse.jface.viewers.ISelection} object.
      */
-    public void showViewer(IWorkbenchPart part, ISelection selection){
+    public void showViewer(IWorkbenchPart part, IStructuredSelection selection){
        this.part = part;               
-                               
-               IStructuredSelection structuredSelection = (IStructuredSelection) selection;
+       
+               Object element = selection.getFirstElement();
                
-               getViewer().setInput(structuredSelection.getFirstElement());
+               getViewer().setInput(element);
                
                showViewer();
     }