tmf: Remove usage of ICoreRunnable for time graph build job
authorMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tue, 23 Aug 2016 15:36:38 +0000 (11:36 -0400)
committerMarc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tue, 23 Aug 2016 20:14:03 +0000 (16:14 -0400)
ICoreRunnable is only in Eclipse 4.6. We can create the job the old
way to restore compatibility with Eclipse 4.5 and there is no loss
of functionality.

Change-Id: I72091a016df3f63eda5c009104c065d4f72f379b
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/79545
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/timegraph/AbstractTimeGraphView.java

index fd30e3631774628c3baca78ea1c029d5e7999f3a..8bd3d62594dd39534bc3544c0d82adfd012de43a 100644 (file)
@@ -41,9 +41,10 @@ import org.eclipse.core.resources.IResourceChangeListener;
 import org.eclipse.core.resources.IWorkspaceRunnable;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
-import org.eclipse.core.runtime.ICoreRunnable;
 import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
@@ -691,7 +692,8 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
 
     }
 
-    private class BuildRunnable implements ICoreRunnable {
+    // TODO: This can implement ICoreRunnable once support for Eclipse 4.5. is not necessary anymore.
+    private class BuildRunnable {
         private final @NonNull ITmfTrace fBuildTrace;
         private final @NonNull ITmfTrace fParentTrace;
 
@@ -700,8 +702,7 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
             fParentTrace = parentTrace;
         }
 
-        @Override
-        public void run(IProgressMonitor monitor) throws CoreException {
+        public void run(IProgressMonitor monitor) {
             LOGGER.info(() -> "[TimeGraphView:BuildJobStart] trace=" + fBuildTrace.getName()); //$NON-NLS-1$
 
             buildEntryList(fBuildTrace, fParentTrace, NonNullUtils.checkNotNull(monitor));
@@ -1633,7 +1634,14 @@ public abstract class AbstractTimeGraphView extends TmfView implements ITmfTimeA
                     break;
                 }
                 markerEventSources.addAll(TmfTraceAdapterManager.getAdapters(trace, IMarkerEventSource.class));
-                Job buildJob = Job.create(getTitle() + Messages.AbstractTimeGraphView_BuildJob, new BuildRunnable(trace, viewTrace));
+                Job buildJob = new Job(getTitle() + Messages.AbstractTimeGraphView_BuildJob) {
+                    @Override
+                    protected IStatus run(IProgressMonitor monitor) {
+                        new BuildRunnable(trace, viewTrace).run(monitor);
+                        monitor.done();
+                        return Status.OK_STATUS;
+                    }
+                };
                 fBuildJobMap.put(trace, buildJob);
                 buildJob.schedule();
             }
This page took 0.026336 seconds and 5 git commands to generate.