Merge branch 'develop' into wset
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / operation / RemotingChangeAcceptedTaxonToSynonymOperation.java
index 3e31781bfc31c2209cce3f8fdea5bf589ab0e519..2020b2952ae627198d53e9ab6ac50ca3fb6f8dba 100644 (file)
@@ -1,4 +1,3 @@
-// $Id$
 /**
 * Copyright (C) 2015 EDIT
 * European Distributed Institute of Taxonomy
@@ -9,15 +8,17 @@
 */
 package eu.etaxonomy.taxeditor.navigation.navigator.operation;
 
+import java.util.UUID;
+
 import org.eclipse.core.runtime.IAdaptable;
 import org.eclipse.core.runtime.IProgressMonitor;
 
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
+import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
 import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
-import eu.etaxonomy.cdm.model.taxon.ITaxonTreeNode;
-import eu.etaxonomy.cdm.model.taxon.TaxonNode;
+import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
 import eu.etaxonomy.taxeditor.operation.RemotingCdmUpdateOperation;
-import eu.etaxonomy.taxeditor.store.CdmStore;
 
 
 /**
@@ -27,26 +28,34 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
  */
 public class RemotingChangeAcceptedTaxonToSynonymOperation extends RemotingCdmUpdateOperation {
 
-    private final TaxonNode newAcceptedTaxonNode;
-    private final ITaxonTreeNode oldTaxonNode;
+    private final UUID oldTaxonNodeUuid;
+    private final UUID newAcceptedTaxonNodeUuid;
+
+
+    private final static String LABEL = Messages.RemotingChangeAcceptedTaxonToSynonymOperation_CHANGE_OP;
 
     /**
      * @param label
      */
-    public RemotingChangeAcceptedTaxonToSynonymOperation(String label,
-            ITaxonTreeNode oldTaxonNode,
-            TaxonNode newAcceptedTaxonNode) {
-        super(label);
-        this.oldTaxonNode = oldTaxonNode;
-        this.newAcceptedTaxonNode = newAcceptedTaxonNode;
+    public RemotingChangeAcceptedTaxonToSynonymOperation(Object source,
+            boolean async,
+            UUID oldTaxonNodeUuid,
+            UUID newAcceptedTaxonNodeUuid) {
+        super(LABEL, Action.Update, source, async);
+        this.oldTaxonNodeUuid = oldTaxonNodeUuid;
+        this.newAcceptedTaxonNodeUuid = newAcceptedTaxonNodeUuid;
     }
 
     /* (non-Javadoc)
      * @see eu.etaxonomy.taxeditor.operation.RemotingCdmUpdateOperation#doUpdateExecute(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
      */
     @Override
-    public UpdateResult doUpdateExecute(IProgressMonitor monitor, IAdaptable info) {
-        return CdmStore.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode(oldTaxonNode.getUuid(), newAcceptedTaxonNode.getUuid(), null, null, null);
+    protected UpdateResult doUpdateExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
+        return CdmApplicationState.getService(ITaxonNodeService.class).makeTaxonNodeASynonymOfAnotherTaxonNode(oldTaxonNodeUuid,
+                newAcceptedTaxonNodeUuid,
+                null,
+                null,
+                null);
     }
 
 }