Move out the progress monitor job from experiment indexing thread
authorFrancois Chouinard <fchouinard@gmail.com>
Wed, 26 Oct 2011 22:14:36 +0000 (18:14 -0400)
committerFrancois Chouinard <fchouinard@gmail.com>
Wed, 26 Oct 2011 22:14:36 +0000 (18:14 -0400)
org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/component/TmfDataProvider.java
org.eclipse.linuxtools.tmf/src/org/eclipse/linuxtools/tmf/experiment/TmfExperiment.java

index fce731094a4db57d174cf7ba90ab297169ea33ff..4d476e93f5a8812acd6dcf820ff81bcafc7fc131 100644 (file)
@@ -19,7 +19,6 @@ import java.util.concurrent.SynchronousQueue;
 
 import org.eclipse.linuxtools.tmf.Tracer;
 import org.eclipse.linuxtools.tmf.event.TmfData;
-import org.eclipse.linuxtools.tmf.experiment.TmfExperiment;
 import org.eclipse.linuxtools.tmf.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.request.ITmfDataRequest.ExecutionType;
 import org.eclipse.linuxtools.tmf.request.TmfCoalescedDataRequest;
@@ -246,8 +245,6 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im
         // Process the request
         TmfThread thread = new TmfThread(request.getExecType()) {
             
-            ITmfDataRequest<T> fRequest = request;
-
             @Override
             public void run() {
 
@@ -300,8 +297,8 @@ public abstract class TmfDataProvider<T extends TmfData> extends TmfComponent im
 
             @Override
             public void cancel() {
-                if (!fRequest.isCompleted()) {
-                    fRequest.cancel();
+                if (!request.isCompleted()) {
+                    request.cancel();
                 }
             }
         };
index 2734c394195ee9bad24f64f4fc96b46adabcfc11..82fcf996fac9731b8fe91993d70673e9e68e137a 100644 (file)
@@ -740,6 +740,22 @@ public class TmfExperiment<T extends TmfEvent> extends TmfEventProvider<T> imple
             fIndexing = true;
         }
 
+        final Job job = new Job("Indexing " + getName() + "...") { //$NON-NLS-1$ //$NON-NLS-2$
+            @Override
+            protected IStatus run(IProgressMonitor monitor) {
+                while (!monitor.isCanceled()) {
+                    try {
+                        Thread.sleep(100);
+                    } catch (InterruptedException e) {
+                        return Status.OK_STATUS;
+                    }
+                }
+                monitor.done();
+                return Status.OK_STATUS;
+            }
+        };
+        job.schedule();
+
 //             fEventLog = openLogFile("TraceEvent.log");
 //        System.out.println(System.currentTimeMillis() + ": Experiment indexing started");
 
@@ -752,26 +768,9 @@ public class TmfExperiment<T extends TmfEvent> extends TmfEventProvider<T> imple
             TmfTimestamp lastTime = (fTimeRange == TmfTimeRange.Null) ? null : fTimeRange.getEndTime();
             long initialNbEvents = fNbEvents;
 
-            final Job job = new Job("Indexing " + getName() + "...") { //$NON-NLS-1$ //$NON-NLS-2$
-                @Override
-                protected IStatus run(IProgressMonitor monitor) {
-                    while (!monitor.isCanceled()) {
-                        try {
-                            Thread.sleep(100);
-                        } catch (InterruptedException e) {
-                            monitor.done();
-                            return Status.OK_STATUS;
-                        }
-                    }
-                    monitor.done();
-                    return Status.OK_STATUS;
-                }
-            };
-
             @Override
             public void handleStarted() {
                 super.handleStarted();
-                job.schedule();
             }
 
             @Override
This page took 0.027379 seconds and 5 git commands to generate.