Introduces a handler to delete all empty names; Cleans up the name editors context...
[taxeditor.git] / taxeditor-editor / src / main / java / eu / etaxonomy / taxeditor / editor / name / handler / DeleteTaxonBaseHandler.java
index adf0798134375d28c1a5deaaa7237994c2cb3064..1d3678ee3f4d8d0df1bcff6e7ef771a6213127c0 100644 (file)
@@ -8,7 +8,6 @@
 */
 
 package eu.etaxonomy.taxeditor.editor.name.handler;
-import org.apache.log4j.Logger;
 import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
@@ -22,7 +21,6 @@ import eu.etaxonomy.taxeditor.editor.Page;
 import eu.etaxonomy.taxeditor.editor.name.TaxonNameEditor;
 import eu.etaxonomy.taxeditor.editor.name.operation.DeleteMisapplicationOperation;
 import eu.etaxonomy.taxeditor.editor.name.operation.DeleteSynonymOperation;
-import eu.etaxonomy.taxeditor.editor.view.concept.operation.DeleteConceptRelationOperation;
 import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
 
 /**
@@ -33,8 +31,7 @@ import eu.etaxonomy.taxeditor.operation.AbstractPostOperation;
  * @version 1.0
  */
 public class DeleteTaxonBaseHandler extends AbstractHandler implements IHandler {
-       private static final Logger logger = Logger
-                                                               .getLogger(DeleteTaxonBaseHandler.class);
+
        /* (non-Javadoc)
         * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
         */
@@ -44,18 +41,27 @@ public class DeleteTaxonBaseHandler extends AbstractHandler implements IHandler
                                
                Object selectedElement = EditorUtil.getSelection(event).getFirstElement();
                
-               AbstractPostOperation operation = null;
-               String commandName = null;
-               
+               doExecute(event, editor, selectedElement);
                
+               return null;
+       }
+       
+       /**
+        * @param editor
+        * @param selectedElement
+        * @param operation
+        * @param commandName
+        */
+       protected void doExecute(ExecutionEvent event, TaxonNameEditor editor, Object selectedElement) {
+               AbstractPostOperation operation = null;
+               String commandName = null;              
+
                try {
                        commandName = event.getCommand().getName();
                } catch (NotDefinedException e) {
-                       logger.error(e);
-                       throw new RuntimeException(e);
+                       EditorUtil.error(getClass(), e);
                }
                
-               
                // synonym
                if(selectedElement instanceof Synonym){
                        operation = new DeleteSynonymOperation(commandName, editor.getUndoContext(), editor.getTaxon(), (Synonym) selectedElement, editor);
@@ -70,8 +76,6 @@ public class DeleteTaxonBaseHandler extends AbstractHandler implements IHandler
                }
                                
                EditorUtil.executeOperation(operation);
-               
-               return null;
        }
 
 }