Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java')
-rw-r--r--plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java20
1 files changed, 12 insertions, 8 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java
index d213e310d1..0c00651b33 100644
--- a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java
+++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/ui/actions/LongRunningAction.java
@@ -11,11 +11,12 @@
package org.eclipse.net4j.util.ui.actions;
import org.eclipse.net4j.util.internal.ui.bundle.OM;
-import org.eclipse.net4j.util.om.monitor.MonitorUtil;
-import org.eclipse.net4j.util.om.monitor.MonitoredJob;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.OperationCanceledException;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
@@ -153,20 +154,20 @@ public abstract class LongRunningAction extends SafeAction
preRun();
if (totalWork != 0)
{
- new MonitoredJob(getBundleID(), getText())
+ new Job(getText())
{
@Override
- protected void run() throws Exception
+ protected IStatus run(IProgressMonitor progressMonitor)
{
try
{
- MonitorUtil.begin(totalWork);
- doRun();
+ doRun(progressMonitor);
+ return Status.OK_STATUS;
}
catch (Exception ex)
{
OM.LOG.error(ex);
- throw ex;
+ return new Status(IStatus.ERROR, OM.BUNDLE_ID, ex.getMessage(), ex);
}
}
}.schedule();
@@ -182,7 +183,10 @@ public abstract class LongRunningAction extends SafeAction
return OM.BUNDLE_ID;
}
- protected abstract void doRun() throws Exception;
+ /**
+ * @since 2.0
+ */
+ protected abstract void doRun(IProgressMonitor progressMonitor) throws Exception;
protected final void checkCancelation(IProgressMonitor monitor)
{

Back to the top