Merge branch 'release/5.19.0'
[taxeditor.git] / eu.etaxonomy.taxeditor.navigation / src / main / java / eu / etaxonomy / taxeditor / navigation / navigator / operation / SetSecundumForSubtreeOperation.java
index dc809cfe67efbe4d4ec134151fd6ef28359951bc..a267d8d6ec02641a42e3a07a5e7e121c65642f7a 100755 (executable)
@@ -13,12 +13,8 @@ import java.util.UUID;
 import javax.inject.Inject;
 
 import org.apache.log4j.Logger;
-import org.eclipse.core.runtime.Assert;
 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 org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.e4.ui.di.UISynchronize;
 import org.eclipse.e4.ui.model.application.MApplication;
 import org.eclipse.e4.ui.model.application.ui.basic.MPart;
@@ -30,7 +26,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.editor.EditorUtil;
 import eu.etaxonomy.taxeditor.navigation.l10n.Messages;
 import eu.etaxonomy.taxeditor.operation.IPostMoniteredOperationEnabled;
 
@@ -46,7 +42,7 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
        private static final Logger logger = Logger.getLogger(SetSecundumForSubtreeOperation.class);
 
     @Inject
-    UISynchronize sync;
+    private UISynchronize sync;
 
 
     public SetSecundumForSubtreeOperation(Object source, boolean async, UUID taxonNodeUuid, EPartService partService,
@@ -55,14 +51,13 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
 
        }
 
-    /**
-     * {@inheritDoc}
-     */
     @Override
     protected UpdateResult doUpdateExecute(IProgressMonitor monitor, IAdaptable info) throws Exception {
+        EditorUtil.checkForChanges(null, partService);
+
 //        runMoniteredOperation();
         runMoniteredOperation();
-        updateNameEditors();
+//        updateNameEditors();
 //        Job job = createJob(monitor);
 //        // configure the job
 //        job.setProperty(IProgressConstants.KEEP_PROPERTY, true);
@@ -76,51 +71,46 @@ public class SetSecundumForSubtreeOperation extends UpdateSubtreeOperation imple
     }
 
 
-    private Job createJob(IProgressMonitor monitor){
-        Assert.isNotNull(config, "Configuration may not be null");
-
-        final Display display = Display.getDefault();
-
-        Job job = new Job(Messages.SetSecundumForSubtreeOperation_SET_SEC_TASK) {
-            @Override
-            protected IStatus run(IProgressMonitor monitor) {
-               if (config instanceof SecundumForSubtreeConfigurator){
-                                       updateResult = taxonNodeService.setSecundumForSubtree((SecundumForSubtreeConfigurator)config);
-                               }else{
-                                       return Status.CANCEL_STATUS;
-                               }
-               updateNameEditors();
-                               return Status.OK_STATUS;
-
-            }
-        };
-        return job;
-    }
+//    private Job createJob(IProgressMonitor monitor){
+//        Assert.isNotNull(config, "Configuration may not be null");
+//
+//        final Display display = Display.getDefault();
+//
+//        Job job = new Job(Messages.SetSecundumForSubtreeOperation_SET_SEC_TASK) {
+//            @Override
+//            protected IStatus run(IProgressMonitor monitor) {
+//             if (config instanceof SecundumForSubtreeConfigurator){
+//                                     updateResult = taxonNodeService.setSecundumForSubtree((SecundumForSubtreeConfigurator)config);
+//                             }else{
+//                                     return Status.CANCEL_STATUS;
+//                             }
+//
+//                             return Status.OK_STATUS;
+//
+//            }
+//        };
+//        return job;
+//    }
 
 
     public void runMoniteredOperation() {
         ITaxonNodeService nodeService;
-        final UUID uuid = longRunningTaskService.monitLongRunningTask((SecundumForSubtreeConfigurator)config);
+        final UUID uuid = longRunningTaskService.monitLongRunningTask(config);
         Display.getDefault().asyncExec(new Runnable() {
             @Override
             public void run() {
-                AbstractUtility.executeMoniteredOperation("Set Secundum Reference for Subtree: ",
+                EditorUtil.executeMoniteredOperation("Set Secundum Reference for Subtree: ",
                         uuid,
                         1000,
                         false,
                         SetSecundumForSubtreeOperation.this,
-                        null);
+                        null,
+                        true);
+
             }
         });
-
-
     }
 
-
-
-    /**
-     * {@inheritDoc}
-     */
     @Override
     public void postOperation(IRemotingProgressMonitor monitor) {
         // TODO Auto-generated method stub