Merge branch 'develop' into wset
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / operation / SetSecundumForSubtreeOperation.java
index 84b2f6cbbe58b259b50d2e8c2db92786eaa483a1..47a1f1b627fb574adfde1fd2353aa3a9ed7038b9 100755 (executable)
@@ -27,6 +27,7 @@ import eu.etaxonomy.cdm.api.service.ITaxonNodeService;
 import eu.etaxonomy.cdm.api.service.UpdateResult;
 import eu.etaxonomy.cdm.api.service.config.SecundumForSubtreeConfigurator;
 import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
+import eu.etaxonomy.taxeditor.model.AbstractUtility;
 import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
 import eu.etaxonomy.taxeditor.operation.IPostMoniteredOperationEnabled;
 import eu.etaxonomy.taxeditor.operation.RemotingCdmUpdateOperation;
@@ -43,7 +44,7 @@ public class SetSecundumForSubtreeOperation extends RemotingCdmUpdateOperation i
             .getLogger(SetSecundumForSubtreeOperation.class);
     UUID parentUuid;
     SecundumForSubtreeConfigurator config;
-    UpdateResult updateResult = new UpdateResult();
+
 
     /**
      * @param label
@@ -58,6 +59,7 @@ public class SetSecundumForSubtreeOperation extends RemotingCdmUpdateOperation i
         super(LABEL, Action.Update, source, async);
         parentUuid = taxonNodeUuid;
         this.config = config;
+        this.updateResult = new UpdateResult();
     }
 
     /**
@@ -65,6 +67,8 @@ public class SetSecundumForSubtreeOperation extends RemotingCdmUpdateOperation i
      */
     @Override
     protected UpdateResult doUpdateExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
+//        runMoniteredOperation();
+
         Job job = createJob(monitor);
         // configure the job
         job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
@@ -121,6 +125,29 @@ public class SetSecundumForSubtreeOperation extends RemotingCdmUpdateOperation i
     }
 
 
+    public void runMoniteredOperation() {
+        ITaxonNodeService nodeService;
+        try {
+            nodeService = CdmApplicationState.getService(ITaxonNodeService.class);
+
+            final UUID uuid = nodeService.monitSetSecundum(config);
+            Display.getDefault().asyncExec(new Runnable() {
+            @Override
+            public void run() {
+                AbstractUtility.executeMoniteredOperation("Set Secundum Reference for Subtree: ",
+                        uuid,
+                        1000,
+                        false,
+                        SetSecundumForSubtreeOperation.this,
+                        null);
+            }
+        });
+        } catch (CdmApplicationException e) {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+    }