--- /dev/null
+/**\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
+\r
+import eu.etaxonomy.cdm.model.name.TaxonNameBase;\r
+import eu.etaxonomy.cdm.model.taxon.Synonym;\r
+import eu.etaxonomy.cdm.model.taxon.Taxon;\r
+import eu.etaxonomy.taxeditor.store.model.SynonymUtil;\r
+\r
+/**\r
+ * @author p.ciardelli\r
+ * @created 15.01.2009\r
+ * @version 1.0\r
+ */\r
+public class ChangeHomotypicalGroupBasionymOperation extends\r
+ AbstractPostOperation {\r
+ private static final Logger logger = Logger\r
+ .getLogger(ChangeHomotypicalGroupBasionymOperation.class);\r
+ private Synonym synonym;\r
+\r
+ public ChangeHomotypicalGroupBasionymOperation(String text,\r
+ IUndoContext undoContext, Taxon taxon, Synonym synonym, IPostOperationEnabled postOperationEnabled) {\r
+ super(text, undoContext, taxon, postOperationEnabled);\r
+ \r
+ this.synonym = synonym;\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
+ TaxonNameBase oldSynonymName = synonym.getName();\r
+ // TODO replace w method from cdmlib\r
+ SynonymUtil.setGroupBasionym(oldSynonymName);\r
+ \r
+ return postExecute(synonym);\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
+ // TODO replace w method from cdmlib\r
+ // FIXME this is also old code: reimplement\r
+// CdmUtil.setGroupBasionym(synonym.getName());\r
+ \r
+ return postExecute(synonym);\r
+ }\r
+}\r