tmf: Switch views to the trace manager
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 29 Apr 2013 15:53:02 +0000 (11:53 -0400)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Wed, 1 May 2013 17:21:33 +0000 (13:21 -0400)
Remove getCurrentTime() and getCurrentRange() from ITmfTrace,
and transition its callers to the central trace manager.

Change-Id: Ib5138acb7cd252b40be07d0c0536bc73b60491bd
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/12354
Tested-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
IP-Clean: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
12 files changed:
org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java
org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java
org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfTraceTest.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTrace.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/viewers/statistics/TmfStatisticsViewer.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/TmfView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/callstack/CallStackView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/timechart/TimeChartView.java
org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java

index 5a5a2521606aae311fbb07a70055d93dac23336b..0d914f9fed5cf446e07ca6e275a571d87f76dcf1 100644 (file)
@@ -797,9 +797,9 @@ public class ControlFlowView extends TmfView {
                 fTimeGraphCombo.setInput(entries);
                 fTimeGraphCombo.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
 
-                long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
                 startTime = Math.max(startTime, fStartTime);
                 endTime = Math.min(endTime, fEndTime);
                 fTimeGraphCombo.getTimeGraphViewer().setSelectedTime(timestamp, false);
index 88d0abc661969464a7172e4d67b9b600b7a0a5ad..b199f547c1e3b8ad5dc4ad28cfc7ce1cf066f09c 100644 (file)
@@ -661,9 +661,9 @@ public class ResourcesView extends TmfView {
                     fTimeGraphViewer.setInput(entries);
                     fTimeGraphViewer.setTimeBounds(fStartTime, fEndTime);
 
-                    long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                    long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                    long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                    long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                    long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                    long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
                     startTime = Math.max(startTime, fStartTime);
                     endTime = Math.min(endTime, fEndTime);
                     fTimeGraphViewer.setSelectedTime(timestamp, false);
index 4552e5595361a1bbfed0e5dd48b8f495078f70f4..44a3d3abbc6b581c0d4ee563f897a5de5300cd20 100644 (file)
@@ -126,14 +126,6 @@ public class TmfMultiTraceExperimentTest {
 
         TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
         assertEquals("getInitialRangeOffset", initRange, fExperiment.getInitialRangeOffset());
-
-        assertEquals("getCurrentTime", fExperiment.getTimeRange().getStartTime(), fExperiment.getCurrentTime());
-
-        ITmfTimestamp startTimestamp = fExperiment.getTimeRange().getStartTime();
-        long endValue = startTimestamp.getValue() + initRange.normalize(0, startTimestamp.getScale()).getValue();
-        ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, startTimestamp.getScale());
-        TmfTimeRange expectedRange = new TmfTimeRange(startTimestamp, endTimestamp);
-        assertEquals("getCurrentRange", expectedRange, fExperiment.getCurrentRange());
     }
 
     // ------------------------------------------------------------------------
@@ -834,8 +826,6 @@ public class TmfMultiTraceExperimentTest {
         // verify initial values
         TmfTimestamp initRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
         assertEquals("getInitialRangeOffset", initRange, exp.getInitialRangeOffset());
-        assertEquals("getCurrentTime", TmfTimestamp.ZERO, exp.getCurrentTime());
-        assertEquals("getCurrentRange", TmfTimeRange.NULL_RANGE, exp.getCurrentRange());
 
         exp.dispose();
     }
index da3f6acd96f027261a4d9955ff519034fbcdb2a1..86e7c3409fc5ffb33ce3973200dd8d49aade1051 100644 (file)
@@ -1453,8 +1453,6 @@ public class TmfTraceTest {
             // verify initial values
             TmfTimestamp defaultInitRange = new TmfTimestamp(DEFAULT_INITIAL_OFFSET_VALUE, ITmfTimestamp.NANOSECOND_SCALE);
             assertEquals("getInitialRangeOffset", defaultInitRange, trace.getInitialRangeOffset());
-            assertEquals("getCurrentTime", TmfTimestamp.ZERO, trace.getCurrentTime());
-            assertEquals("getCurrentRange", TmfTimeRange.NULL_RANGE, trace.getCurrentRange());
             trace.setInitialRangeOffset(new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE));
             trace.indexTrace(true);
         } catch (final URISyntaxException e) {
@@ -1466,12 +1464,5 @@ public class TmfTraceTest {
 
         TmfTimestamp initRange = new TmfTimestamp(5, ITmfTimestamp.MILLISECOND_SCALE);
         assertEquals("getInitialRangeOffset", initRange, trace.getInitialRangeOffset());
-        assertEquals("getCurrentTime", trace.getTimeRange().getStartTime(), trace.getCurrentTime());
-
-        ITmfTimestamp startTimestamp = trace.getTimeRange().getStartTime();
-        long endValue = startTimestamp.getValue() + initRange.normalize(0, startTimestamp.getScale()).getValue();
-        ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, startTimestamp.getScale());
-        TmfTimeRange expectedRange = new TmfTimeRange(startTimestamp, endTimestamp);
-        assertEquals("getCurrentRange", expectedRange, trace.getCurrentRange());
     }
 }
index eb70c159d6a8989286c081ec38943d3c9b861608..aa715e9f33e4a4313fbd79821c7c7d83b1b7e927 100644 (file)
@@ -353,20 +353,4 @@ public interface ITmfTrace extends ITmfDataProvider {
      * @since 2.0
      */
     public ITmfTimestamp getInitialRangeOffset();
-
-    /**
-     * Return the current selected time.
-     *
-     * @return the current time stamp
-     * @since 2.0
-     */
-    public ITmfTimestamp getCurrentTime();
-
-    /**
-     * Return the current selected range.
-     *
-     * @return the current time range
-     * @since 2.0
-     */
-    public TmfTimeRange getCurrentRange();
 }
index 168692467c0e56bc5a0d472cf8e203c0811fa1d6..987787a90dd84bf350a9b802b481a7e29956dd6b 100644 (file)
@@ -27,9 +27,7 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfEvent;
 import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException;
 import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
-import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceOpenedSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
 import org.eclipse.linuxtools.tmf.core.statesystem.ITmfStateSystem;
@@ -100,12 +98,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
     // The trace's statistics
     private ITmfStatistics fStatistics;
 
-    // The current selected time
-    private ITmfTimestamp fCurrentTime = TmfTimestamp.ZERO;
-
-    // The current selected range
-    private TmfTimeRange fCurrentRange = TmfTimeRange.NULL_RANGE;
-
     /**
      * The collection of state systems that are registered with this trace. Each
      * sub-class can decide to add its (one or many) state system to this map
@@ -204,7 +196,10 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
      *
      * @throws TmfTraceException If something failed during the initialization
      */
-    protected void initialize(final IResource resource, final String path, final Class<? extends ITmfEvent> type) throws TmfTraceException {
+    protected void initialize(final IResource resource,
+            final String path,
+            final Class<? extends ITmfEvent> type)
+                    throws TmfTraceException {
         if (path == null) {
             throw new TmfTraceException("Invalid trace path"); //$NON-NLS-1$
         }
@@ -411,22 +406,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
         return fEndTime;
     }
 
-    /**
-     * @since 2.0
-     */
-    @Override
-    public ITmfTimestamp getCurrentTime() {
-        return fCurrentTime;
-    }
-
-    /**
-     * @since 2.0
-     */
-    @Override
-    public TmfTimeRange getCurrentRange() {
-        return fCurrentRange;
-    }
-
     /**
      * @since 2.0
      */
@@ -622,13 +601,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
         if (fEndTime.equals(TmfTimestamp.BIG_CRUNCH) || (fEndTime.compareTo(timestamp, false) < 0)) {
             fEndTime = timestamp;
         }
-        if (fCurrentRange == TmfTimeRange.NULL_RANGE) {
-            fCurrentTime = timestamp;
-            ITmfTimestamp initialOffset = getInitialRangeOffset();
-            long endValue = timestamp.getValue() + initialOffset.normalize(0, timestamp.getScale()).getValue();
-            ITmfTimestamp endTimestamp = new TmfTimestamp(endValue, timestamp.getScale());
-            fCurrentRange = new TmfTimeRange(timestamp, endTimestamp);
-        }
         if (context.hasValidRank()) {
             long rank = context.getRank();
             if (fNbEvents <= rank) {
@@ -743,35 +715,6 @@ public abstract class TmfTrace extends TmfEventProvider implements ITmfTrace {
         }
     }
 
-    /**
-     * Signal handler for the TmfTimeSynchSignal signal
-     *
-     * @param signal The incoming signal
-     * @since 2.0
-     */
-    @TmfSignalHandler
-    public void synchToTime(final TmfTimeSynchSignal signal) {
-        if (signal.getCurrentTime().compareTo(fStartTime) >= 0 && signal.getCurrentTime().compareTo(fEndTime) <= 0) {
-            fCurrentTime = signal.getCurrentTime();
-        }
-    }
-
-    /**
-     * Signal handler for the TmfRangeSynchSignal signal
-     *
-     * @param signal The incoming signal
-     * @since 2.0
-     */
-    @TmfSignalHandler
-    public void synchToRange(final TmfRangeSynchSignal signal) {
-        if (signal.getCurrentTime().compareTo(fStartTime) >= 0 && signal.getCurrentTime().compareTo(fEndTime) <= 0) {
-            fCurrentTime = signal.getCurrentTime();
-        }
-        if (signal.getCurrentRange().getIntersection(getTimeRange()) != null) {
-            fCurrentRange = signal.getCurrentRange().getIntersection(getTimeRange());
-        }
-    }
-
     // ------------------------------------------------------------------------
     // toString
     // ------------------------------------------------------------------------
index 12ad69f67689f68c65265c819cc96897d6b5a385..6ea6f017483d31a4f46e706e896e2551d554bdc1 100644 (file)
@@ -31,6 +31,7 @@ import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
 import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
 import org.eclipse.linuxtools.tmf.ui.viewers.TmfViewer;
 import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.ITmfColumnDataProvider;
 import org.eclipse.linuxtools.tmf.ui.viewers.statistics.model.TmfBaseColumnData;
@@ -237,7 +238,7 @@ public class TmfStatisticsViewer extends TmfViewer {
             // Sends the time range request only once from this method.
             if (fSendRangeRequest) {
                 fSendRangeRequest = false;
-                requestTimeRangeData(trace, fTrace.getCurrentRange());
+                requestTimeRangeData(trace, TmfTraceManager.getInstance().getCurrentRange());
             }
         }
         requestData(trace, signal.getRange());
index 0005dc3c09c16427d8d04b477c1b45cbe0f3cdc5..e5c57072874dce1a2f8e09efccb9ca6d18d758ff 100644 (file)
@@ -19,6 +19,7 @@ import org.eclipse.linuxtools.tmf.core.component.ITmfComponent;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
 import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
 import org.eclipse.ui.IEditorPart;
 import org.eclipse.ui.IWorkbenchActionConstants;
@@ -36,13 +37,19 @@ import org.eclipse.ui.part.ViewPart;
 public abstract class TmfView extends ViewPart implements ITmfComponent {
 
     private final String fName;
+
     /**
      * Action class for pinning of TmfView.
-     *
      * @since 2.0
      */
     protected PinTmfViewAction fPinAction;
 
+    /**
+     * Reference to the trace manager
+     * @since 2.0
+     */
+    protected final TmfTraceManager fTraceManager;
+
     // ------------------------------------------------------------------------
     // Constructor
     // ------------------------------------------------------------------------
@@ -56,6 +63,7 @@ public abstract class TmfView extends ViewPart implements ITmfComponent {
     public TmfView(String viewName) {
         super();
         fName = viewName;
+        fTraceManager = TmfTraceManager.getInstance();
         TmfSignalManager.register(this);
     }
 
index 6f1f5abf1fe63cf9f2132f590e3ce66e3b018186..951b3232bb13b992702c595eb5b52a630b35116b 100644 (file)
@@ -922,9 +922,9 @@ public class CallStackView extends TmfView {
                 fTimeGraphCombo.setInput(entries);
                 fTimeGraphCombo.getTimeGraphViewer().setTimeBounds(fStartTime, fEndTime);
 
-                long timestamp = fTrace == null ? 0 : fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                long startTime = fTrace == null ? 0 : fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-                long endTime = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long timestamp = fTrace == null ? 0 : fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long startTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+                long endTime = fTrace == null ? 0 : fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
                 startTime = Math.max(startTime, fStartTime);
                 endTime = Math.min(endTime, fEndTime);
                 selectTime(timestamp);
index cac78e45ab465ec6aa2e2265138b8bdf27c3234b..4943c2e74f9f1c2419d4328daa89ea13c16085d1 100644 (file)
@@ -539,9 +539,9 @@ public class HistogramView extends TmfView {
 
     private void initializeHistograms() {
         TmfTimeRange fullRange = updateTraceTimeRange();
-        long timestamp = fTrace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-        long startTime = fTrace.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
-        long duration = fTrace.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue() - startTime;
+        long timestamp = fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+        long startTime = fTraceManager.getCurrentRange().getStartTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue();
+        long duration = fTraceManager.getCurrentRange().getEndTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue() - startTime;
 
         if ((fTimeRangeRequest != null) && !fTimeRangeRequest.isCompleted()) {
             fTimeRangeRequest.cancel();
index c9e928d0ef63a2f35ece7e0209d3480000a0f1de..b36d9ff62293420d641c61d492822b27bb860b3b 100644 (file)
@@ -647,7 +647,7 @@ public class TimeChartView extends TmfView implements ITimeGraphRangeListener, I
                     break;
                 }
             }
-            fViewer.setSelectedTime(trace.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(), false);
+            fViewer.setSelectedTime(fTraceManager.getCurrentTime().normalize(0, ITmfTimestamp.NANOSECOND_SCALE).getValue(), false);
         }
     }
 
index 61adb82108b45e29693b1bfefeababa2afdc528f..d55aee7c4dba0eb91a7f23746d4b5d40ab51b029 100644 (file)
@@ -43,6 +43,7 @@ import org.eclipse.linuxtools.tmf.core.timestamp.ITmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimeRange;
 import org.eclipse.linuxtools.tmf.core.timestamp.TmfTimestamp;
 import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
+import org.eclipse.linuxtools.tmf.core.trace.TmfTraceManager;
 import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent;
 import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent;
 import org.eclipse.linuxtools.tmf.ui.editors.ITmfTraceEditor;
@@ -1147,7 +1148,8 @@ public class TmfUml2SDSyncLoader extends TmfComponent implements IUml2SDLoader,
     protected TmfTimeRange getSignalTimeRange(ITmfTimestamp startTime) {
         fLock.lock();
         try {
-            long offset = fTrace == null ? 0 : fTrace.getCurrentRange().getEndTime().getDelta(fTrace.getCurrentRange().getStartTime()).normalize(0, startTime.getScale()).getValue();
+            TmfTimeRange currentRange = TmfTraceManager.getInstance().getCurrentRange();
+            long offset = fTrace == null ? 0 : currentRange.getEndTime().getDelta(currentRange.getStartTime()).normalize(0, startTime.getScale()).getValue();
             TmfTimestamp initialEndOfWindow = new TmfTimestamp(startTime.getValue() + offset, startTime.getScale(), startTime.getPrecision());
             return new TmfTimeRange(startTime, initialEndOfWindow);
         }
This page took 0.053027 seconds and 5 git commands to generate.