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