From 2d49766cef6589e62b0ab47b51ad0a5add7b51d1 Mon Sep 17 00:00:00 2001
From: Patrick Plitzner
Date: Wed, 8 Aug 2018 13:43:33 +0200
Subject: [PATCH] ref #7597 Use LongRunningTaskService for taxon aggregation
---
.../AggregateTaxonDescriptionsHandler.java | 9 +++--
.../AggregateTaxonDescriptionsOperation.java | 34 +++++++++----------
2 files changed, 22 insertions(+), 21 deletions(-)
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/AggregateTaxonDescriptionsHandler.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/AggregateTaxonDescriptionsHandler.java
index 12073dd65..1bd2c51f4 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/AggregateTaxonDescriptionsHandler.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/e4/handler/AggregateTaxonDescriptionsHandler.java
@@ -21,7 +21,6 @@ import eu.etaxonomy.taxeditor.navigation.navigator.operation.AggregateTaxonDescr
import eu.etaxonomy.taxeditor.operation.e4.RemotingCdmHandlerE4;
public class AggregateTaxonDescriptionsHandler extends RemotingCdmHandlerE4 {
- private TaxonNavigatorE4 navigator;
public AggregateTaxonDescriptionsHandler() {
super("Aggregate taxon descriptions");
@@ -59,9 +58,13 @@ public class AggregateTaxonDescriptionsHandler extends RemotingCdmHandlerE4 {
}
@CanExecute
- private boolean canExecute(@Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection, MHandledMenuItem menuItem){
+ private boolean canExecute(
+ @Named(IServiceConstants.ACTIVE_SELECTION)TreeSelection selection,
+ @Named(IServiceConstants.ACTIVE_PART)MPart activePart,
+ MHandledMenuItem menuItem){
boolean canExecute = false;
- canExecute = selection.getFirstElement() instanceof TaxonNodeDto
+ canExecute = activePart.getObject() instanceof TaxonNavigatorE4
+ && selection.getFirstElement() instanceof TaxonNodeDto
&& ((TaxonNodeDto)selection.getFirstElement()).getTaxonUuid() != null;
menuItem.setVisible(canExecute);
return canExecute;
diff --git a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/AggregateTaxonDescriptionsOperation.java b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/AggregateTaxonDescriptionsOperation.java
index fbe67f78c..5247dc1f3 100644
--- a/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/AggregateTaxonDescriptionsOperation.java
+++ b/eu.etaxonomy.taxeditor.navigation/src/main/java/eu/etaxonomy/taxeditor/navigation/navigator/operation/AggregateTaxonDescriptionsOperation.java
@@ -14,8 +14,9 @@ import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.widgets.Display;
+import eu.etaxonomy.cdm.api.application.CdmApplicationState;
import eu.etaxonomy.cdm.api.application.CdmChangeEvent.Action;
-import eu.etaxonomy.cdm.api.service.IDescriptionService;
+import eu.etaxonomy.cdm.api.service.IProgressMonitorService;
import eu.etaxonomy.cdm.api.service.UpdateResult;
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor;
import eu.etaxonomy.taxeditor.event.EventUtility;
@@ -24,7 +25,6 @@ import eu.etaxonomy.taxeditor.model.AbstractUtility;
import eu.etaxonomy.taxeditor.navigation.navigator.e4.TaxonNavigatorE4;
import eu.etaxonomy.taxeditor.operation.IPostMoniteredOperationEnabled;
import eu.etaxonomy.taxeditor.operation.RemotingCdmUpdateOperation;
-import eu.etaxonomy.taxeditor.store.CdmStore;
/**
*
@@ -34,8 +34,8 @@ import eu.etaxonomy.taxeditor.store.CdmStore;
*/
public class AggregateTaxonDescriptionsOperation extends RemotingCdmUpdateOperation implements IPostMoniteredOperationEnabled {
- private TaxonNavigatorE4 taxonNavigator;
private UUID nodeUuid;
+ private UUID monitorUuid;
public AggregateTaxonDescriptionsOperation(Object source,
boolean async,
@@ -52,21 +52,20 @@ public class AggregateTaxonDescriptionsOperation extends RemotingCdmUpdateOperat
}
public void runMoniteredOperation() {
- UUID uuid = CdmStore.getService(IDescriptionService.class).aggregateComputedTaxonDescriptions(nodeUuid);
-
- Display.getDefault().asyncExec(new Runnable() {
- @Override
- public void run() {
- AbstractUtility.executeMoniteredOperation("Aggregate taxon descriptions: ",
- uuid,
- 500,
- false,
- AggregateTaxonDescriptionsOperation.this,
- null,
- true);
- }
- });
+ monitorUuid = CdmApplicationState.getLongRunningTasksService().aggregateComputedTaxonDescriptions(nodeUuid);
+ Display.getDefault().asyncExec(new Runnable() {
+ @Override
+ public void run() {
+ AbstractUtility.executeMoniteredOperation("Move Taxon to new parent: ",
+ monitorUuid,
+ 500,
+ false,
+ AggregateTaxonDescriptionsOperation.this,
+ null,
+ true);
+ }
+ });
}
@@ -74,7 +73,6 @@ public class AggregateTaxonDescriptionsOperation extends RemotingCdmUpdateOperat
public void postOperation(IRemotingProgressMonitor monitor) {
monitor.done();
EventUtility.postEvent(WorkbenchEventConstants.REFRESH_NAVIGATOR, true);
-
}
}
--
2.34.1