Added implementation code to "create child taxon" in editor popup menu.
authorp.ciardelli <p.ciardelli@localhost>
Thu, 18 Jun 2009 09:02:56 +0000 (09:02 +0000)
committerp.ciardelli <p.ciardelli@localhost>
Thu, 18 Jun 2009 09:02:56 +0000 (09:02 +0000)
taxeditor-editor/src/main/java/eu/etaxonomy/taxeditor/editor/handler/CreateChildTaxonHandler.java

index 0cb545eb156b6296793ea3ffed4803c9e69f9aea..48489f1eefb13fe3d21344bd14b3b5173289d680 100644 (file)
@@ -15,13 +15,18 @@ import org.eclipse.core.commands.AbstractHandler;
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.core.commands.IHandler;
+import org.eclipse.ui.IEditorInput;
+import org.eclipse.ui.PartInitException;
+import org.eclipse.ui.handlers.HandlerUtil;
+
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.editor.EditorUtil;
+import eu.etaxonomy.taxeditor.editor.TaxonEditorInput;
 
 /**
  * @author n.hoffmann
  * @created 21.04.2009
  * @version 1.0
- * 
- * @deprecated Seems to be unused
  */
 public class CreateChildTaxonHandler extends AbstractHandler implements
                IHandler {
@@ -32,7 +37,16 @@ public class CreateChildTaxonHandler extends AbstractHandler implements
         * @see org.eclipse.core.commands.IHandler#execute(org.eclipse.core.commands.ExecutionEvent)
         */
        public Object execute(ExecutionEvent event) throws ExecutionException {
-               logger.error("Not yet implemented");
+               
+               IEditorInput input = HandlerUtil.getActiveEditor(event).getEditorInput();
+               if (input instanceof TaxonEditorInput) {
+                       Taxon parentTaxon = ((TaxonEditorInput) input).getTaxon();
+                       try {
+                               EditorUtil.openEmpty(parentTaxon.getUuid());
+                       } catch (PartInitException e) {
+                               logger.error("Error opening the editor", e);
+                       }
+               }
                return null;
        }
 }