ref #2380: implement usage of Dto for taxon navigator
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / operation / CreateTaxonNode.java
index 495f009dc3a942b01143ef4d471268dbe7b48801..8c496fd2101e0dfaa9a5f86dabe12ad7197bea35 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2007 EDIT
 * European Distributed Institute of Taxonomy
@@ -19,11 +18,12 @@ import org.eclipse.core.runtime.Status;
 
 import eu.etaxonomy.cdm.api.conversation.IConversationEnabled;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;
-import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
+import eu.etaxonomy.cdm.model.name.TaxonName;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.cdm.persistence.dto.TaxonNodeDto;
 import eu.etaxonomy.taxeditor.model.MessagingUtils;
+import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
 import eu.etaxonomy.taxeditor.operation.AbstractPersistentPostOperation;
 import eu.etaxonomy.taxeditor.operation.IPostOperationEnabled;
 import eu.etaxonomy.taxeditor.session.ICdmEntitySessionEnabled;
@@ -55,7 +55,7 @@ public class CreateTaxonNode extends AbstractPersistentPostOperation {
         */
        public CreateTaxonNode(String label,
                IUndoContext undoContext,
-               ITaxonTreeNode parentNode, TaxonNameBase<?, ?> name,
+               TaxonNodeDto parentNode, TaxonName name,
                IPostOperationEnabled postOperationEnabled,
                        IConversationEnabled conversationEnabled,
             ICdmEntitySessionEnabled cdmEntitySessionEnabled) {
@@ -76,7 +76,7 @@ public class CreateTaxonNode extends AbstractPersistentPostOperation {
         */
        public CreateTaxonNode(String label,
                IUndoContext undoContext,
-               ITaxonTreeNode parentNode,
+               TaxonNodeDto parentNode,
                Taxon taxon,
                IPostOperationEnabled postOperationEnabled,
                        IConversationEnabled conversationEnabled,
@@ -99,7 +99,8 @@ public class CreateTaxonNode extends AbstractPersistentPostOperation {
                        // add the taxon
                        bind();
                        monitor.worked(20);
-                       childTaxonNode = parentNode.addChildTaxon(newTaxon, parentNode.getReference(), parentNode.getMicroReference());
+                       TaxonNode node = CdmStore.getService(ITaxonNodeService.class).find(parentNode.getUuid());
+                       childTaxonNode = node.addChildTaxon(newTaxon, node.getReference(), node.getMicroReference());
 
                        monitor.worked(40);
 
@@ -107,7 +108,7 @@ public class CreateTaxonNode extends AbstractPersistentPostOperation {
 
                        return postExecute(childTaxonNode);
                }catch(Exception e){
-                       MessagingUtils.messageDialog("Could not create taxon node", getClass(), e.getLocalizedMessage(), e);
+                       MessagingUtils.messageDialog(Messages.CreateTaxonNode_CREATE_FAILED, getClass(), e.getLocalizedMessage(), e);
                        return Status.CANCEL_STATUS;
                }
        }
@@ -130,7 +131,7 @@ public class CreateTaxonNode extends AbstractPersistentPostOperation {
        public IStatus undo(IProgressMonitor monitor, IAdaptable info)
                        throws ExecutionException {
 
-               MessagingUtils.warn(this.getClass(), "Not yet implemented.");
+               MessagingUtils.warn(this.getClass(), "Not yet implemented."); //$NON-NLS-1$
                return null;
        }
 }