- added multi-select(multi-save) to SpecimenImportEditor
authorPatric Plitzner <p.plitzner@bgbm.org>
Wed, 26 Feb 2014 14:42:42 +0000 (14:42 +0000)
committerPatric Plitzner <p.plitzner@bgbm.org>
Wed, 26 Feb 2014 14:42:42 +0000 (14:42 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/dataimport/SaveSpecimenCommand.java

index 1b4ab0f7bf1cdf74491299eca457d80ee92aa858..89c353488e52cc32a8b2de8b8c93b9a8f6a8545f 100644 (file)
@@ -1,5 +1,7 @@
 package eu.etaxonomy.taxeditor.editor.view.dataimport;
 
+import java.util.Iterator;
+
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
@@ -26,13 +28,16 @@ public class SaveSpecimenCommand extends AbstractHandler {
         final ISelection selection = window.getActivePage().getSelection();
         if(selection instanceof StructuredSelection){
             StructuredSelection structuredSelection = (StructuredSelection)selection;
-            Object firstElement = structuredSelection.getFirstElement();
-            if(firstElement instanceof SpecimenOrObservationBase){
-                IWorkbenchPart activePart = AbstractUtility.getActivePart();
-                if(activePart instanceof DataImportEditor){
-                    DataImportEditor dataImportEditor = (DataImportEditor)activePart;
-                    CdmStore.getService(IOccurrenceService.class).saveOrUpdate((SpecimenOrObservationBase) firstElement);
-                    dataImportEditor.getConversationHolder().commit(true);
+            Iterator iterator = structuredSelection.iterator();
+            while(iterator.hasNext()){
+                Object next = iterator.next();
+                if(next instanceof SpecimenOrObservationBase){
+                    IWorkbenchPart activePart = AbstractUtility.getActivePart();
+                    if(activePart instanceof DataImportEditor){
+                        SpecimenImportEditor dataImportEditor = (SpecimenImportEditor)activePart;
+                        CdmStore.getService(IOccurrenceService.class).saveOrUpdate((SpecimenOrObservationBase) next);
+                        dataImportEditor.getConversationHolder().commit(true);
+                    }
                 }
             }
         }