tmf: Remove the TmfStateSystemBuildCompleted signal
authorAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Mon, 7 Jan 2013 22:52:57 +0000 (17:52 -0500)
committerAlexandre Montplaisir <alexmonthy@voxpopuli.im>
Tue, 8 Jan 2013 15:51:20 +0000 (10:51 -0500)
Views should now use ITmfStateSystem.waitUntilBuild() instead.
Its behavior is much more predictable, both if the state history
is already built or not.

This also removes the need to pass the ID when building a new
state history. Only the trace will know the ID->statesystem
matching.

Change-Id: Ie9b5d98b0e674d607b34ae1984342030a5668b19
Signed-off-by: Alexandre Montplaisir <alexmonthy@voxpopuli.im>
Reviewed-on: https://git.eclipse.org/r/9505
Tested-by: Hudson CI
Reviewed-by: Patrick Tasse <patrick.tasse@gmail.com>
IP-Clean: Patrick Tasse <patrick.tasse@gmail.com>

org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/headless/BasicStateSystemExample.java
org.eclipse.linuxtools.lttng2.kernel.core.tests/src/org/eclipse/linuxtools/lttng2/kernel/core/tests/stateprovider/StateSystemFullHistoryTest.java
org.eclipse.linuxtools.lttng2.kernel.core/src/org/eclipse/linuxtools/lttng2/kernel/core/trace/CtfKernelTrace.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/statesystem/HistoryBuilder.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStateSystemBuildCompleted.java [deleted file]
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/ITmfStateSystem.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statesystem/StateSystemManager.java
org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/statistics/TmfStateStatistics.java

index 216e286315a31decb8b0d68b9683570367b5646a..9dc8f0d183390cb0cdfdbf232c2e2f472e9bbd89 100644 (file)
@@ -44,8 +44,7 @@ public class BasicStateSystemExample {
         try {
             File newStateFile = new File("/tmp/helloworldctf.ht"); //$NON-NLS-1$
             IStateChangeInput input = new CtfKernelStateInput(CtfTestFiles.getTestTrace());
-            String name = "test-ss"; //$NON-NLS-1$
-            ITmfStateSystem ss = StateSystemManager.loadStateHistory(newStateFile, input, name, true);
+            ITmfStateSystem ss = StateSystemManager.loadStateHistory(newStateFile, input, true);
 
             requestExample(ss);
         } catch (TmfTraceException e) {
index 1a266b88a59a045b25947231df28a393f52553b2..c4e884dc4f0c6d84f2b3833a3c4b67c9fb1d6203 100644 (file)
@@ -53,9 +53,6 @@ public class StateSystemFullHistoryTest {
     /* Offset in the trace + start time of the trace */
     private final static long interestingTimestamp1 = 18670067372290L + 1331649577946812237L;
 
-    /* ID we give to the state system we build */
-    private static final String STATE_ID = "test-ss";
-
     protected static String getTestFileName() {
         return "/tmp/statefile.ht"; //$NON-NLS-1$
     }
@@ -66,7 +63,7 @@ public class StateSystemFullHistoryTest {
         stateFileBenchmark = new File(getTestFileName() + ".benchmark"); //$NON-NLS-1$
         try {
             input = new CtfKernelStateInput(CtfTestFiles.getTestTrace());
-            ssq = StateSystemManager.loadStateHistory(stateFile, input, STATE_ID, true);
+            ssq = StateSystemManager.loadStateHistory(stateFile, input, true);
         } catch (Exception e) {
             e.printStackTrace();
         }
@@ -96,7 +93,7 @@ public class StateSystemFullHistoryTest {
         ITmfStateSystem ssb2;
 
         input2 = new CtfKernelStateInput(CtfTestFiles.getTestTrace());
-        ssb2 = StateSystemManager.loadStateHistory(stateFileBenchmark, input2, STATE_ID, true);
+        ssb2 = StateSystemManager.loadStateHistory(stateFileBenchmark, input2, true);
 
         assertEquals(CtfTestFiles.startTime, ssb2.getStartTime());
         assertEquals(CtfTestFiles.endTime, ssb2.getCurrentEndTime());
@@ -107,7 +104,7 @@ public class StateSystemFullHistoryTest {
         ITmfStateSystem ssb2;
 
         /* 'newStateFile' should have already been created */
-        ssb2 = StateSystemManager.loadStateHistory(stateFile, null, STATE_ID, true);
+        ssb2 = StateSystemManager.loadStateHistory(stateFile, null, true);
 
         assertNotNull(ssb2);
         assertEquals(CtfTestFiles.startTime, ssb2.getStartTime());
index be140adafa1c3a0f39c5234de9511701e41a1a62..985073c37dfcf03cd00bd828b74ca185b42a95d0 100644 (file)
@@ -94,7 +94,7 @@ public class CtfKernelTrace extends CtfTmfTrace {
         final File htFile = new File(supplDirectory + File.separator + HISTORY_TREE_FILE_NAME);
         final IStateChangeInput htInput = new CtfKernelStateInput(this);
 
-        ITmfStateSystem ss = StateSystemManager.loadStateHistory(htFile, htInput, STATE_ID, false);
+        ITmfStateSystem ss = StateSystemManager.loadStateHistory(htFile, htInput, false);
         fStateSystems.put(STATE_ID, ss);
     }
 
index b25031113c222a0304d2453070162fdde61b5c1a..de62ee1da353e6720f97b780da1d386de4ef2783 100644 (file)
@@ -20,10 +20,8 @@ import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange;
 import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest;
 import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest;
 import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest;
-import org.eclipse.linuxtools.tmf.core.signal.TmfSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler;
 import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager;
-import org.eclipse.linuxtools.tmf.core.signal.TmfStateSystemBuildCompleted;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceClosedSignal;
 import org.eclipse.linuxtools.tmf.core.signal.TmfTraceRangeUpdatedSignal;
 import org.eclipse.linuxtools.tmf.core.statesystem.IStateChangeInput;
@@ -48,7 +46,6 @@ public class HistoryBuilder extends TmfComponent {
     private final IStateChangeInput sci;
     private final StateSystem ss;
     private final IStateHistoryBackend hb;
-    private final String id;
     private boolean started = true; /* Don't handle signals until we're ready */
 
     /**
@@ -58,10 +55,6 @@ public class HistoryBuilder extends TmfComponent {
      *            The input plugin to use. This is required.
      * @param backend
      *            The backend storage to use.
-     * @param id
-     *            The ID (or name) of the state system that will be built. This
-     *            can be useful in cases where there are more than 1 state
-     *            system per trace/experiment.
      * @param buildManually
      *            Should we build this history in-band or not. True means we
      *            will start the building ourselves and block the caller until
@@ -73,14 +66,13 @@ public class HistoryBuilder extends TmfComponent {
      *             backend)
      */
     public HistoryBuilder(IStateChangeInput stateChangeInput,
-            IStateHistoryBackend backend, String id, boolean buildManually)
+            IStateHistoryBackend backend, boolean buildManually)
             throws IOException {
         if (stateChangeInput == null || backend == null) {
             throw new IllegalArgumentException();
         }
         sci = stateChangeInput;
         hb = backend;
-        this.id = id;
         ss = new StateSystem(hb, true);
 
         sci.assignTargetStateSystem(ss);
@@ -224,18 +216,10 @@ public class HistoryBuilder extends TmfComponent {
     }
 
     void close(boolean deleteFiles) {
-        TmfSignal doneSig;
-
         sci.dispose();
         if (deleteFiles) {
             hb.removeFiles();
-            /* We won't broadcast the signal if the request was cancelled */
-        } else {
-            /* Broadcast the signal saying the history is done building */
-            doneSig = new TmfStateSystemBuildCompleted(this, sci.getTrace(), id);
-            TmfSignalManager.dispatchSignal(doneSig);
         }
-
         dispose();
     }
 }
diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStateSystemBuildCompleted.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfStateSystemBuildCompleted.java
deleted file mode 100644 (file)
index 2f07210..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012 Ericsson
- *
- * All rights reserved. This program and the accompanying materials are
- * made available under the terms of the Eclipse Public License v1.0 which
- * accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *   Francois Chouinard - Initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.linuxtools.tmf.core.signal;
-
-import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace;
-
-/**
- * Signal sent when the state system has completed its build.
- *
- * @version 1.0
- * @author Francois Chouinard
- */
-public class TmfStateSystemBuildCompleted extends TmfSignal {
-
-    private final ITmfTrace fTrace;
-    private final String fID;
-
-    /**
-     * Constructor
-     *
-     * @param source
-     *            Object sending this signal
-     * @param trace
-     *            The state system of which trace just finished building
-     * @param id
-     *            ID associated with this state system. This can be used in the
-     *            case of a trace containing multiple state systems, to
-     *            differentiate between them.
-     * @since 2.0
-     */
-    public TmfStateSystemBuildCompleted(Object source, ITmfTrace trace, String id) {
-        super(source);
-        fTrace = trace;
-        fID = id;
-    }
-
-    /**
-     * @return The trace referred to by this signal
-     */
-    public ITmfTrace getTrace() {
-        return fTrace;
-    }
-
-    /**
-     * @return The ID of the state system that just finished building
-     * @since 2.0
-     */
-    public String getID() {
-        return fID;
-    }
-
-    /* (non-Javadoc)
-     * @see java.lang.Object#toString()
-     */
-    @Override
-    public String toString() {
-        return "[TmfStateSystemBuildCompleted (trace = " + fTrace.toString() + //$NON-NLS-1$
-                ", ID = " + fID + ")]"; //$NON-NLS-1$ //$NON-NLS-2$
-    }
-
-}
index fc5a3a72089244f60605c84055775a066f34675f..9abba46c2c23bad46f4891ba2d02227332cc44b2 100644 (file)
@@ -54,9 +54,7 @@ public interface ITmfStateSystem {
      *
      * This method blocks the calling thread until the history back-end is done
      * building. If it's already built (ie, opening a pre-existing file) this
-     * should return immediately. It's an alternative to listening to the
-     * {@link org.eclipse.linuxtools.tmf.core.signal.TmfStateSystemBuildCompleted}
-     * signal.
+     * should return immediately.
      *
      * @return If the build was successful. If false is returned, this either
      *         means there was a problem during the build, or it got cancelled
index f7a62c20434627192d38a7760e3403c484d7e342..b73714ee3eb014f79f128b51a03362fb2dced5e2 100644 (file)
@@ -48,11 +48,6 @@ public abstract class StateSystemManager extends TmfComponent {
      *            The IStateChangeInput to use for building the history file. It
      *            may be required even if we are opening an already-existing
      *            history (ie, for partial histories).
-     * @param id
-     *            The ID, or name, to give to the state system we will build.
-     *            The signal that when be sent when the construction is finished
-     *            will carry this ID. It has no effect if the file already
-     *            exists.
      * @param buildManually
      *            If false, the construction will wait for a signal before
      *            starting. If true, it will build everything right now and
@@ -65,7 +60,7 @@ public abstract class StateSystemManager extends TmfComponent {
      * @since 2.0
      */
     public static ITmfStateSystem loadStateHistory(File htFile,
-            IStateChangeInput htInput, String id, boolean buildManually)
+            IStateChangeInput htInput, boolean buildManually)
             throws TmfTraceException {
         ITmfStateSystem ss;
         IStateHistoryBackend htBackend;
@@ -97,7 +92,7 @@ public abstract class StateSystemManager extends TmfComponent {
         try {
             htBackend = new ThreadedHistoryTreeBackend(htFile,
                     htInput.getStartTime(), QUEUE_SIZE);
-            builder = new HistoryBuilder(htInput, htBackend, id, buildManually);
+            builder = new HistoryBuilder(htInput, htBackend, buildManually);
         } catch (IOException e) {
             /*
              * If it fails here however, it means there was a problem writing to
index c33a53d4196e8618aaec93570045148f3ae76271..1a3c6f6163e880774dc44471836d94db8ee7b68c 100644 (file)
@@ -96,7 +96,7 @@ public class TmfStateStatistics implements ITmfStatistics {
         final File htFile = new File(supplDirectory + File.separator + STATS_STATE_FILENAME);
         final IStateChangeInput htInput = new StatsStateProvider(trace);
 
-        this.stats = StateSystemManager.loadStateHistory(htFile, htInput, STATE_ID, false);
+        this.stats = StateSystemManager.loadStateHistory(htFile, htInput, false);
     }
 
     /**
@@ -114,7 +114,7 @@ public class TmfStateStatistics implements ITmfStatistics {
     public TmfStateStatistics(ITmfTrace trace, File historyFile) throws TmfTraceException {
         this.trace = trace;
         final IStateChangeInput htInput = new StatsStateProvider(trace);
-        this.stats = StateSystemManager.loadStateHistory(historyFile, htInput, STATE_ID, true);
+        this.stats = StateSystemManager.loadStateHistory(historyFile, htInput, true);
     }
 
     // ------------------------------------------------------------------------
This page took 0.031744 seconds and 5 git commands to generate.