-// $Id$\r
-/**\r
-* Copyright (C) 2007 EDIT\r
-* European Distributed Institute of Taxonomy \r
-* http://www.e-taxonomy.eu\r
-* \r
-* The contents of this file are subject to the Mozilla Public License Version 1.1\r
-* See LICENSE.TXT at the top of this package for the full license terms.\r
-*/\r
-\r
-package eu.etaxonomy.taxeditor.store.operations;\r
-\r
-import org.apache.log4j.Logger;\r
-import org.eclipse.core.commands.ExecutionException;\r
-import org.eclipse.core.commands.operations.IUndoContext;\r
-import org.eclipse.core.runtime.IAdaptable;\r
-import org.eclipse.core.runtime.IProgressMonitor;\r
-import org.eclipse.core.runtime.IStatus;\r
-import org.eclipse.core.runtime.Status;\r
-\r
-import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
-import eu.etaxonomy.cdm.model.taxon.Taxon;\r
-import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;\r
-import eu.etaxonomy.taxeditor.store.model.TaxonUtil;\r
-\r
-/**\r
- * @author n.hoffmann\r
- * @created 08.05.2009\r
- * @version 1.0\r
- */\r
-public class CreateChildTaxonOperation extends AbstractPostOperation {\r
- \r
- private static final Logger logger = Logger\r
- .getLogger(CreateChildTaxonOperation.class);\r
- \r
- private TaxonNameBase newTaxonName;\r
-\r
- private Taxon childTaxon;\r
-\r
- \r
- /**\r
- * @param label\r
- * @param undoContext\r
- * @param parentTaxon\r
- * @param postOperationEnabled\r
- * @param conversationEnabled\r
- */\r
- public CreateChildTaxonOperation(String label, IUndoContext undoContext,\r
- Taxon parentTaxon, TaxonNameBase name, IPostOperationEnabled postOperationEnabled) {\r
- super(label, undoContext, parentTaxon, postOperationEnabled);\r
- \r
- this.newTaxonName = name;\r
- }\r
-\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#execute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- @Override\r
- public IStatus execute(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- \r
- childTaxon = TaxonUtil.addChildTaxonBaseIsolated(taxon.getUuid(), newTaxonName);\r
- \r
- if(childTaxon != null){\r
- return postExecute(childTaxon);\r
- }else{\r
- return new Status(IStatus.ERROR, TaxeditorStorePlugin.PLUGIN_ID, TaxeditorStorePlugin.ERROR_SAVING_ZERO_NAME, "Attempt to save taxon with zero length name", null);\r
- }\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#redo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- @Override\r
- public IStatus redo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- return execute(monitor, info);\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see org.eclipse.core.commands.operations.AbstractOperation#undo(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)\r
- */\r
- @Override\r
- public IStatus undo(IProgressMonitor monitor, IAdaptable info)\r
- throws ExecutionException {\r
- \r
- logger.warn("Not yet implemented.");\r
- return null;\r
- }\r
- \r
- public Taxon getChildTaxon() {\r
- return childTaxon;\r
- }\r
-}\r
+// $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.operations;
+
+import org.apache.log4j.Logger;
+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 org.eclipse.core.runtime.Status;
+
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;
+import eu.etaxonomy.cdm.model.taxon.Taxon;
+import eu.etaxonomy.taxeditor.model.TaxonUtil;
+import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin;
+
+/**
+ * @author n.hoffmann
+ * @created 08.05.2009
+ * @version 1.0
+ */
+public class CreateChildTaxonOperation extends AbstractPostOperation {
+
+ private static final Logger logger = Logger
+ .getLogger(CreateChildTaxonOperation.class);
+
+ private TaxonNameBase<?, ?> newTaxonName;
+
+ private Taxon childTaxon;
+
+
+ /**
+ * @param label
+ * @param undoContext
+ * @param taxon
+ * @param postOperationEnabled
+ * @param conversationEnabled
+ */
+ public CreateChildTaxonOperation(String label, IUndoContext undoContext,
+ Taxon taxon, TaxonNameBase<?, ?> name, IPostOperationEnabled postOperationEnabled) {
+ super(label, undoContext, taxon, postOperationEnabled);
+
+ this.newTaxonName = name;
+ }
+
+
+ /* (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 {
+
+ childTaxon = TaxonUtil.addChildTaxonBaseIsolated(taxon.getUuid(), newTaxonName);
+
+ if(childTaxon != null){
+ return postExecute(childTaxon);
+ }else{
+ return new Status(IStatus.ERROR, TaxeditorStorePlugin.PLUGIN_ID, TaxeditorStorePlugin.ERROR_SAVING_ZERO_NAME, "Attempt to save taxon with zero length name", null);
+ }
+ }
+
+ /* (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 {
+ return execute(monitor, info);
+ }
+
+ /* (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 {
+
+ logger.warn("Not yet implemented.");
+ return null;
+ }
+}