From 9e0640dcb0f112504dee90707fabb938e737f6bf Mon Sep 17 00:00:00 2001 From: Francois Chouinard Date: Fri, 18 May 2012 18:06:25 -0400 Subject: [PATCH] Revisit the TmfExperiment structure --- .../core/tests/LttngTestPreparation.java | 12 +- .../LTTngSyntheticEventProviderTest.java | 2 +- .../core/tests/headless/TmfTraceTest.java | 2 +- .../core/tests/trace/LTTngExperimentTest.java | 2 +- .../control/LttngSyntheticEventProvider.java | 2 +- .../core/request/LttngBaseEventRequest.java | 2 +- .../ILttExperimentSelectedListener.java | 2 +- .../core/signal/StateExperimentListener.java | 2 +- .../experiment/IStateExperimentManager.java | 2 +- .../experiment/StateExperimentManager.java | 2 +- .../state/experiment/StateManagerFactory.java | 2 +- .../core/state/trace/StateTraceManager.java | 2 +- .../internal/lttng/core/trace/LTTngTrace.java | 2 +- .../internal/lttng/stubs/LTTngTraceStub.java | 3 +- .../ui/views/common/AbsTimeUpdateView.java | 2 +- .../ui/views/controlflow/ControlFlowView.java | 2 +- .../lttng/ui/views/latency/LatencyView.java | 2 +- .../ui/views/resources/ResourcesView.java | 2 +- .../ui/views/statistics/StatisticsView.java | 2 +- .../ui/views/timeframe/TimeFrameView.java | 2 +- .../ui/views/controlflow/ControlFlowView.java | 2 +- .../ui/views/resources/ResourcesView.java | 2 +- .../tmf/core/tests/AllTmfCoreTests.java | 1 - .../ctfadaptor/headless/RequestBenchmark.java | 2 +- .../tmf/core/tests/experiment/AllTests.java | 37 -- .../tmf/core/tests/trace/AllTests.java | 4 + .../TmfExperimentCheckpointIndexTest.java | 51 +-- .../TmfExperimentTest.java | 191 ++++++++-- .../TmfMultiTraceExperimentTest.java | 9 +- .../tests/stubs/trace/TmfExperimentStub.java | 37 ++ .../tmf/tests/stubs/trace/TmfIndexerStub.java | 39 +++ .../META-INF/MANIFEST.MF | 4 +- .../core/trace}/TmfExperimentCheckpoint.java | 2 +- .../tmf/core/trace}/TmfExperimentContext.java | 4 +- .../core/trace}/TmfExperimentLocation.java | 2 +- .../tmf/core/trace}/TmfLegacyExperiment.java | 12 +- .../tmf/core/trace}/TmfLocationArray.java | 2 +- .../tmf/core/component/TmfDataProvider.java | 2 +- .../tmf/core/component/TmfEventProvider.java | 2 +- .../tmf/core/request/ITmfDataRequest.java | 2 +- .../core/request/TmfCoalescedDataRequest.java | 12 +- .../request/TmfCoalescedEventRequest.java | 2 +- .../tmf/core/request/TmfDataRequest.java | 16 +- .../tmf/core/request/TmfEventRequest.java | 4 +- .../signal/TmfExperimentDisposedSignal.java | 2 +- .../TmfExperimentRangeUpdatedSignal.java | 2 +- .../signal/TmfExperimentSelectedSignal.java | 2 +- .../signal/TmfExperimentUpdatedSignal.java | 2 +- .../tmf/core/trace/ITmfTraceIndexer.java | 34 +- .../tmf/core/trace/TmfCheckpointIndexer.java | 34 +- .../{experiment => trace}/TmfExperiment.java | 331 ++++++++---------- .../linuxtools/tmf/core/trace/TmfTrace.java | 6 +- .../uml2sd/loader/Uml2SDTestFacility.java | 2 +- .../handlers/OpenExperimentHandler.java | 2 +- .../ui/project/handlers/OpenTraceHandler.java | 2 +- .../tmf/ui/editors/EventsViewEditor.java | 2 +- .../tmf/ui/editors/TmfEventsEditor.java | 2 +- .../project/wizards/CopyExperimentDialog.java | 2 +- .../views/environment/TmfEnvironmentView.java | 2 +- .../tmf/ui/views/events/TmfEventsView.java | 2 +- .../tmf/ui/views/histogram/HistogramView.java | 2 +- .../views/statistics/TmfStatisticsView.java | 2 +- .../uml2sd/loader/TmfUml2SDSyncLoader.java | 2 +- 63 files changed, 560 insertions(+), 367 deletions(-) delete mode 100644 org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java rename org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/{experiment => trace}/TmfExperimentCheckpointIndexTest.java (77%) rename org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/{experiment => trace}/TmfExperimentTest.java (74%) rename org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/{experiment => trace}/TmfMultiTraceExperimentTest.java (98%) create mode 100644 org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java create mode 100644 org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/{tmf/core/experiment => internal/tmf/core/trace}/TmfExperimentCheckpoint.java (98%) rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/{tmf/core/experiment => internal/tmf/core/trace}/TmfExperimentContext.java (98%) rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/{tmf/core/experiment => internal/tmf/core/trace}/TmfExperimentLocation.java (98%) rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/{tmf/core/experiment => internal/tmf/core/trace}/TmfLegacyExperiment.java (98%) rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/{tmf/core/experiment => internal/tmf/core/trace}/TmfLocationArray.java (98%) rename org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/{experiment => trace}/TmfExperiment.java (74%) diff --git a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/LttngTestPreparation.java b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/LttngTestPreparation.java index 15ca476542..fe0fe6a9ee 100644 --- a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/LttngTestPreparation.java +++ b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/LttngTestPreparation.java @@ -17,13 +17,13 @@ import org.eclipse.linuxtools.internal.lttng.core.state.experiment.IStateExperim import org.eclipse.linuxtools.internal.lttng.core.state.experiment.StateManagerFactory; import org.eclipse.linuxtools.internal.lttng.core.trace.LTTngTextTrace; import org.eclipse.linuxtools.internal.lttng.core.trace.LTTngTrace; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLegacyExperiment; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.osgi.framework.FrameworkUtil; @SuppressWarnings("nls") @@ -42,7 +42,7 @@ public abstract class LttngTestPreparation extends TestCase { static LTTngTextTrace ftextStream_T1 = null; private static LTTngTrace frealStream = null; - private TmfExperiment fTestExperiment = null; + private TmfLegacyExperiment fTestExperiment = null; protected volatile int feventCount = 0; protected boolean validSequence = true; @@ -77,8 +77,7 @@ public abstract class LttngTestPreparation extends TestCase { final ITmfTrace trace = prepareStreamToTest(); traces[0] = trace; - fTestExperiment = new TmfExperiment(LttngEvent.class, - expId, traces, TmfTimestamp.ZERO, TmfExperiment.DEFAULT_BLOCK_SIZE, true); + fTestExperiment = new TmfLegacyExperiment(LttngEvent.class, expId, traces, TmfExperiment.DEFAULT_BLOCK_SIZE, true); // Set the current selected experiment as the test experiment final TmfExperimentSelectedSignal signal = new TmfExperimentSelectedSignal( @@ -105,8 +104,7 @@ public abstract class LttngTestPreparation extends TestCase { traces[0] = trace; // create experiment and associate traces - fTestExperiment = new TmfExperiment(LttngEvent.class, - expId, traces); + fTestExperiment = new TmfLegacyExperiment(LttngEvent.class, expId, traces); // Set the current selected experiment as the test experiment final TmfExperimentSelectedSignal signal = new TmfExperimentSelectedSignal( diff --git a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/control/LTTngSyntheticEventProviderTest.java b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/control/LTTngSyntheticEventProviderTest.java index 32fd6c8e4e..1d29e04d39 100644 --- a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/control/LTTngSyntheticEventProviderTest.java +++ b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/control/LTTngSyntheticEventProviderTest.java @@ -13,8 +13,8 @@ package org.eclipse.linuxtools.lttng.core.tests.control; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.lttng.core.tests.LttngTestPreparation; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; @SuppressWarnings("nls") public class LTTngSyntheticEventProviderTest extends LttngTestPreparation { diff --git a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/headless/TmfTraceTest.java b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/headless/TmfTraceTest.java index 07369e9023..3adf86480b 100644 --- a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/headless/TmfTraceTest.java +++ b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/headless/TmfTraceTest.java @@ -16,9 +16,9 @@ import org.eclipse.linuxtools.internal.lttng.core.event.LttngTimestamp; import org.eclipse.linuxtools.internal.lttng.core.trace.LTTngTrace; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; @SuppressWarnings("nls") public class TmfTraceTest extends TmfEventRequest { diff --git a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/trace/LTTngExperimentTest.java b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/trace/LTTngExperimentTest.java index e0167f7369..21b56d6dd3 100644 --- a/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/trace/LTTngExperimentTest.java +++ b/org.eclipse.linuxtools.lttng.core.tests/src/org/eclipse/linuxtools/lttng/core/tests/trace/LTTngExperimentTest.java @@ -24,9 +24,9 @@ import org.eclipse.core.runtime.Path; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.internal.lttng.core.event.LttngTimestamp; import org.eclipse.linuxtools.internal.lttng.core.trace.LTTngTrace; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLegacyExperiment; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfLegacyExperiment; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.osgi.framework.FrameworkUtil; diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/control/LttngSyntheticEventProvider.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/control/LttngSyntheticEventProvider.java index 8691e072b4..75e7133446 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/control/LttngSyntheticEventProvider.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/control/LttngSyntheticEventProvider.java @@ -34,7 +34,6 @@ import org.eclipse.linuxtools.internal.lttng.core.state.trace.IStateTraceManager import org.eclipse.linuxtools.tmf.core.component.TmfEventProvider; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; @@ -44,6 +43,7 @@ import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint; import org.eclipse.linuxtools.tmf.core.trace.TmfContext; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * @author alvaro diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/request/LttngBaseEventRequest.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/request/LttngBaseEventRequest.java index cdcdbc1694..487eadb8ae 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/request/LttngBaseEventRequest.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/request/LttngBaseEventRequest.java @@ -15,9 +15,9 @@ package org.eclipse.linuxtools.internal.lttng.core.request; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * This class is an extension of Tmf Event Request which includes specific diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/ILttExperimentSelectedListener.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/ILttExperimentSelectedListener.java index 463157c0f6..4f4fd1f96d 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/ILttExperimentSelectedListener.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/ILttExperimentSelectedListener.java @@ -12,8 +12,8 @@ package org.eclipse.linuxtools.internal.lttng.core.signal; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * @author alvaro diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/StateExperimentListener.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/StateExperimentListener.java index 8256afa76c..2517c8b067 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/StateExperimentListener.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/signal/StateExperimentListener.java @@ -14,10 +14,10 @@ package org.eclipse.linuxtools.internal.lttng.core.signal; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.tmf.core.component.TmfComponent; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * @author alvaro diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/IStateExperimentManager.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/IStateExperimentManager.java index 4736dbba08..1165ff0652 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/IStateExperimentManager.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/IStateExperimentManager.java @@ -15,7 +15,7 @@ package org.eclipse.linuxtools.internal.lttng.core.state.experiment; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.internal.lttng.core.model.LTTngTreeNode; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; public interface IStateExperimentManager { diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateExperimentManager.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateExperimentManager.java index 675adc8f60..ce10d173c3 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateExperimentManager.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateExperimentManager.java @@ -27,7 +27,6 @@ import org.eclipse.linuxtools.internal.lttng.core.signal.StateExperimentListener import org.eclipse.linuxtools.internal.lttng.core.state.model.LttngTraceState; import org.eclipse.linuxtools.internal.lttng.core.state.trace.IStateTraceManager; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; @@ -36,6 +35,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * @author alvaro diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateManagerFactory.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateManagerFactory.java index 839b38ea3f..8709eb096b 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateManagerFactory.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/experiment/StateManagerFactory.java @@ -17,8 +17,8 @@ import org.eclipse.linuxtools.internal.lttng.core.model.LTTngTreeNode; import org.eclipse.linuxtools.internal.lttng.core.state.LttngStateException; import org.eclipse.linuxtools.internal.lttng.core.state.trace.IStateTraceManager; import org.eclipse.linuxtools.internal.lttng.core.state.trace.StateTraceManager; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * @author alvaro diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/trace/StateTraceManager.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/trace/StateTraceManager.java index 53b45c35bf..f2f7d1ba17 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/trace/StateTraceManager.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/state/trace/StateTraceManager.java @@ -36,10 +36,10 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.TmfLocation; public class StateTraceManager extends LTTngTreeNode implements IStateTraceManager, ILttngStateContext { diff --git a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java index ad725da3e8..efae186918 100644 --- a/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java +++ b/org.eclipse.linuxtools.lttng.core/src/org/eclipse/linuxtools/internal/lttng/core/trace/LTTngTrace.java @@ -38,7 +38,6 @@ import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal; @@ -46,6 +45,7 @@ import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser; import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; import org.eclipse.linuxtools.tmf.core.trace.TmfContext; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.TmfTrace; class LTTngTraceException extends LttngException { diff --git a/org.eclipse.linuxtools.lttng.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng/stubs/LTTngTraceStub.java b/org.eclipse.linuxtools.lttng.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng/stubs/LTTngTraceStub.java index 26548d801a..e2e5e2930d 100644 --- a/org.eclipse.linuxtools.lttng.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng/stubs/LTTngTraceStub.java +++ b/org.eclipse.linuxtools.lttng.ui.tests/stubs/org/eclipse/linuxtools/internal/lttng/stubs/LTTngTraceStub.java @@ -19,6 +19,7 @@ import java.io.RandomAccessFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; +import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser; @@ -77,7 +78,7 @@ public class LTTngTraceStub extends TmfTrace implements ITmfEventPar } public void indexTrace() { - getIndexer().buildIndex(true); + getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true); } // ======================================================================== diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/common/AbsTimeUpdateView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/common/AbsTimeUpdateView.java index c2854d5159..5c4122c787 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/common/AbsTimeUpdateView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/common/AbsTimeUpdateView.java @@ -34,7 +34,6 @@ import org.eclipse.linuxtools.internal.lttng.ui.viewers.timeAnalysis.model.ITmfT import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentDisposedSignal; @@ -42,6 +41,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.widgets.Display; diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/controlflow/ControlFlowView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/controlflow/ControlFlowView.java index 35c4451cf9..b6e9bd5a53 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/controlflow/ControlFlowView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/controlflow/ControlFlowView.java @@ -55,7 +55,6 @@ import org.eclipse.linuxtools.internal.lttng.ui.views.controlflow.model.FlowMode import org.eclipse.linuxtools.internal.lttng.ui.views.controlflow.model.FlowTimeRangeViewerProvider; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; @@ -63,6 +62,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal; 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.trace.TmfExperiment; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.SashForm; import org.eclipse.swt.events.ControlAdapter; diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/latency/LatencyView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/latency/LatencyView.java index 8acffec4c1..86bcab10a6 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/latency/LatencyView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/latency/LatencyView.java @@ -29,7 +29,6 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentDisposedSignal; @@ -38,6 +37,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; 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.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ControlEvent; diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/resources/ResourcesView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/resources/ResourcesView.java index 85deba53b5..c811283b99 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/resources/ResourcesView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/resources/ResourcesView.java @@ -36,7 +36,6 @@ import org.eclipse.linuxtools.internal.lttng.ui.views.resources.model.ResourceMo import org.eclipse.linuxtools.internal.lttng.ui.views.resources.model.ResourcesTimeRangeViewerProvider; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; @@ -44,6 +43,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal; 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.trace.TmfExperiment; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/statistics/StatisticsView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/statistics/StatisticsView.java index e273961a23..fa45bd84e7 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/statistics/StatisticsView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/statistics/StatisticsView.java @@ -44,12 +44,12 @@ import org.eclipse.linuxtools.internal.lttng.ui.views.statistics.model.Statistic import org.eclipse.linuxtools.internal.lttng.ui.views.statistics.model.StatisticsTreeRootFactory; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; diff --git a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/timeframe/TimeFrameView.java b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/timeframe/TimeFrameView.java index 05d6f78001..3df2cd4830 100644 --- a/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/timeframe/TimeFrameView.java +++ b/org.eclipse.linuxtools.lttng.ui/src/org/eclipse/linuxtools/internal/lttng/ui/views/timeframe/TimeFrameView.java @@ -16,12 +16,12 @@ import org.eclipse.linuxtools.internal.lttng.core.event.LttngEvent; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal; 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.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java index a7aa60526e..b759a96921 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/controlflow/ControlFlowView.java @@ -29,12 +29,12 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.AttributeNotFoundException; import org.eclipse.linuxtools.tmf.core.exceptions.StateValueTypeException; import org.eclipse.linuxtools.tmf.core.exceptions.TimeRangeException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.interval.ITmfStateInterval; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.statesystem.IStateSystemQuerier; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphRangeListener; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.ITimeGraphSelectionListener; diff --git a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java index 51445dbbb6..0f60fbea33 100644 --- a/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java +++ b/org.eclipse.linuxtools.lttng2.kernel.ui/src/org/eclipse/linuxtools/internal/lttng2/kernel/ui/views/resources/ResourcesView.java @@ -25,12 +25,12 @@ import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.AttributeNotFoundException; import org.eclipse.linuxtools.tmf.core.exceptions.StateValueTypeException; import org.eclipse.linuxtools.tmf.core.exceptions.TimeRangeException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.interval.ITmfStateInterval; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.statesystem.IStateSystemQuerier; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphProvider; import org.eclipse.linuxtools.tmf.ui.widgets.timegraph.TimeGraphViewer; diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java index 412c7942ec..3c90e05edd 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/AllTmfCoreTests.java @@ -30,7 +30,6 @@ public class AllTmfCoreTests { suite.addTest(org.eclipse.linuxtools.tmf.core.tests.request.AllTests.suite()); suite.addTest(org.eclipse.linuxtools.tmf.core.tests.component.AllTests.suite()); suite.addTest(org.eclipse.linuxtools.tmf.core.tests.trace.AllTests.suite()); - suite.addTest(org.eclipse.linuxtools.tmf.core.tests.experiment.AllTests.suite()); suite.addTest(org.eclipse.linuxtools.tmf.core.tests.uml2sd.AllTests.suite()); suite.addTest(org.eclipse.linuxtools.tmf.core.tests.util.AllTests.suite()); //$JUnit-END$ diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/headless/RequestBenchmark.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/headless/RequestBenchmark.java index 8876d7fb45..6715bc8679 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/headless/RequestBenchmark.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/ctfadaptor/headless/RequestBenchmark.java @@ -18,9 +18,9 @@ import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTimestamp; import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; @SuppressWarnings("nls") public class RequestBenchmark extends TmfEventRequest { diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java deleted file mode 100644 index 1192d6a14f..0000000000 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/AllTests.java +++ /dev/null @@ -1,37 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2009, 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 - * Francois Chouinard - Adjusted for new Trace Model - *******************************************************************************/ - -package org.eclipse.linuxtools.tmf.core.tests.experiment; - -import junit.framework.Test; -import junit.framework.TestSuite; - -import org.eclipse.linuxtools.internal.tmf.core.TmfCorePlugin; - -/** - * Test suite for org.eclipse.linuxtools.tmf.core.experiment - */ -@SuppressWarnings("nls") -public class AllTests { - - public static Test suite() { - TestSuite suite = new TestSuite("Test suite for " + TmfCorePlugin.PLUGIN_ID + ".experiment"); //$NON-NLS-1$); - //$JUnit-BEGIN$ - suite.addTestSuite(TmfExperimentCheckpointIndexTest.class); - suite.addTestSuite(TmfExperimentTest.class); - suite.addTestSuite(TmfMultiTraceExperimentTest.class); - //$JUnit-END$ - return suite; - } - -} \ No newline at end of file diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java index 167d55a405..6922309fa0 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/AllTests.java @@ -32,6 +32,10 @@ public class AllTests { suite.addTestSuite(TmfCheckpointTest.class); suite.addTestSuite(TmfCheckpointIndexTest.class); suite.addTestSuite(TmfTraceTest.class); + + suite.addTestSuite(TmfExperimentCheckpointIndexTest.class); + suite.addTestSuite(TmfExperimentTest.class); + suite.addTestSuite(TmfMultiTraceExperimentTest.class); //$JUnit-END$ return suite; } diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentCheckpointIndexTest.java similarity index 77% rename from org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java rename to org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentCheckpointIndexTest.java index d847c9a36f..df5ddc64ab 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentCheckpointIndexTest.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentCheckpointIndexTest.java @@ -10,7 +10,7 @@ * Francois Chouinard - Initial API and implementation *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.tests.experiment; +package org.eclipse.linuxtools.tmf.core.tests.trace; import java.io.File; import java.io.IOException; @@ -22,25 +22,25 @@ import junit.framework.TestCase; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentContext; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentLocation; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLocationArray; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; -import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; +import org.eclipse.linuxtools.tmf.core.event.TmfEvent; +import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentContext; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperimentLocation; -import org.eclipse.linuxtools.tmf.core.experiment.TmfLocationArray; import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin; import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint; -import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpointIndexer; import org.eclipse.linuxtools.tmf.core.trace.TmfContext; +import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub; import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub; /** * Test suite for the TmfCheckpointIndexTest class. */ -@SuppressWarnings("nls") +@SuppressWarnings({ "nls", "restriction" }) public class TmfExperimentCheckpointIndexTest extends TestCase { // ------------------------------------------------------------------------ @@ -54,35 +54,8 @@ public class TmfExperimentCheckpointIndexTest extends TestCase { private static int NB_EVENTS = 20000; private static int BLOCK_SIZE = 1000; - private static ITmfTrace[] fTestTraces; - private static TestExperiment fExperiment; - - // ------------------------------------------------------------------------ - // Helper classes - // ------------------------------------------------------------------------ - - private class TestIndexer extends TmfCheckpointIndexer> { - @SuppressWarnings({ "unchecked", "rawtypes" }) - public TestIndexer(TestExperiment testExperiment) { - super((ITmfTrace) testExperiment, BLOCK_SIZE); - } - public List getCheckpoints() { - return getTraceIndex(); - } - } - - private class TestExperiment extends TmfExperiment { - @SuppressWarnings("unchecked") - public TestExperiment() { - super(ITmfEvent.class, EXPERIMENT, (ITmfTrace[]) fTestTraces, TmfTimestamp.ZERO, BLOCK_SIZE, false); - setIndexer(new TestIndexer(this)); - getIndexer().buildIndex(true); - } - @Override - public TestIndexer getIndexer() { - return (TestIndexer) super.getIndexer(); - } - } + private static ITmfTrace[] fTestTraces; + private static TmfExperimentStub fExperiment; // ------------------------------------------------------------------------ // Housekeeping @@ -97,7 +70,8 @@ public class TmfExperimentCheckpointIndexTest extends TestCase { super.setUp(); setupTrace(DIRECTORY + File.separator + TEST_STREAM1, DIRECTORY + File.separator + TEST_STREAM2); if (fExperiment == null) { - fExperiment = new TestExperiment(); + fExperiment = new TmfExperimentStub(EXPERIMENT, fTestTraces, BLOCK_SIZE); + fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true); } } @@ -108,6 +82,7 @@ public class TmfExperimentCheckpointIndexTest extends TestCase { fExperiment = null; } + @SuppressWarnings("unchecked") private static ITmfTrace[] setupTrace(final String path1, final String path2) { if (fTestTraces == null) { fTestTraces = new ITmfTrace[2]; diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java similarity index 74% rename from org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java rename to org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java index 9a693b99ef..747b0b03fe 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfExperimentTest.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfExperimentTest.java @@ -11,7 +11,7 @@ * Francois Chouinard - Adjusted for new Trace Model *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.tests.experiment; +package org.eclipse.linuxtools.tmf.core.tests.trace; import java.io.File; import java.io.IOException; @@ -21,19 +21,23 @@ import java.util.Vector; import junit.framework.TestCase; +import org.eclipse.core.resources.IFile; import org.eclipse.core.runtime.FileLocator; import org.eclipse.core.runtime.Path; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentLocation; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin; import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfLocation; +import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub; import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub; /** @@ -52,8 +56,9 @@ public class TmfExperimentTest extends TestCase { private static int NB_EVENTS = 10000; private static int BLOCK_SIZE = 1000; - private static ITmfTrace[] fTraces; - private static TmfExperiment fExperiment; + private ITmfTrace[] fTestTraces; + @SuppressWarnings("rawtypes") + private TmfExperimentStub fExperiment; private static byte SCALE = (byte) -3; @@ -61,14 +66,15 @@ public class TmfExperimentTest extends TestCase { // Housekeeping // ------------------------------------------------------------------------ - private synchronized static ITmfTrace[] setupTrace(final String path) { - if (fTraces == null) { - fTraces = new ITmfTrace[1]; + @SuppressWarnings("unchecked") + private synchronized ITmfTrace[] setupTrace(final String path) { + if (fTestTraces == null) { + fTestTraces = new ITmfTrace[1]; try { final URL location = FileLocator.find(TmfCoreTestPlugin.getDefault().getBundle(), new Path(path), null); final File test = new File(FileLocator.toFileURL(location).toURI()); final TmfTraceStub trace = new TmfTraceStub(test.getPath(), 0, true); - fTraces[0] = trace; + fTestTraces[0] = trace; } catch (final TmfTraceException e) { e.printStackTrace(); } catch (final URISyntaxException e) { @@ -77,13 +83,13 @@ public class TmfExperimentTest extends TestCase { e.printStackTrace(); } } - return fTraces; + return fTestTraces; } - @SuppressWarnings("unchecked") - private synchronized static void setupExperiment() { + private synchronized void setupExperiment() { if (fExperiment == null) { - fExperiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, (ITmfTrace[]) fTraces, TmfTimestamp.ZERO, 1000, true); + fExperiment = new TmfExperimentStub(EXPERIMENT, fTestTraces, BLOCK_SIZE); + fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true); } } @@ -107,7 +113,18 @@ public class TmfExperimentTest extends TestCase { // Constructor // ------------------------------------------------------------------------ - public void testBasicTmfExperimentConstructor() { + public void testSimpleTmfExperimentConstructor() { + + TmfExperiment experiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, fTestTraces); + assertEquals("GetId", EXPERIMENT, experiment.getName()); + assertEquals("GetCacheSize", TmfExperiment.DEFAULT_INDEX_PAGE_SIZE, experiment.getCacheSize()); + experiment.dispose(); + + experiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, null); + experiment.dispose(); + } + + public void testNormalTmfExperimentConstructor() { assertEquals("GetId", EXPERIMENT, fExperiment.getName()); assertEquals("GetNbEvents", NB_EVENTS, fExperiment.getNbEvents()); @@ -123,6 +140,140 @@ public class TmfExperimentTest extends TestCase { assertEquals("getEndTime", NB_EVENTS, timeRange.getEndTime().getValue()); } + @SuppressWarnings("static-access") + public void testSetCurrentExperiment() { + + TmfExperiment experiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, fTestTraces); + experiment.setCurrentExperiment(experiment); + assertEquals("getCurrentExperiment", experiment, experiment.getCurrentExperiment()); + + TmfExperiment experiment2 = new TmfExperiment(TmfEvent.class, EXPERIMENT, null); + experiment.setCurrentExperiment(experiment2); + assertEquals("getCurrentExperiment", experiment2, experiment.getCurrentExperiment()); + + experiment.dispose(); + experiment2.dispose(); + } + + // ------------------------------------------------------------------------ + // getTimestamp + // ------------------------------------------------------------------------ + + public void testGetTimestamp() throws Exception { + assertTrue("getTimestamp", fExperiment.getTimestamp( 0).equals(new TmfTimestamp( 1, (byte) -3))); + assertTrue("getTimestamp", fExperiment.getTimestamp( 10).equals(new TmfTimestamp( 11, (byte) -3))); + assertTrue("getTimestamp", fExperiment.getTimestamp( 100).equals(new TmfTimestamp( 101, (byte) -3))); + assertTrue("getTimestamp", fExperiment.getTimestamp( 1000).equals(new TmfTimestamp(1001, (byte) -3))); + assertTrue("getTimestamp", fExperiment.getTimestamp( 2000).equals(new TmfTimestamp(2001, (byte) -3))); + assertTrue("getTimestamp", fExperiment.getTimestamp( 2500).equals(new TmfTimestamp(2501, (byte) -3))); + assertNull("getTimestamp", fExperiment.getTimestamp(10000)); + } + + // ------------------------------------------------------------------------ + // Bookmarks file handling + // ------------------------------------------------------------------------ + + public void testBookmarks() throws Exception { + assertNull("GetBookmarksFile", fExperiment.getBookmarksFile()); + + IFile bookmarks = (IFile) fTestTraces[0].getResource(); + fExperiment.setBookmarksFile(bookmarks); + assertEquals("GetBookmarksFile", bookmarks, fExperiment.getBookmarksFile()); + } + + // ------------------------------------------------------------------------ + // seekEvent by location + // ------------------------------------------------------------------------ + + @SuppressWarnings("unchecked") + public void testSeekBadLocation() throws Exception { + ITmfContext context = fExperiment.seekEvent((ITmfLocation) new TmfLocation(0L)); + assertNull("seekEvent", context); + } + + public void testSeekNoTrace() throws Exception { + TmfExperiment experiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, null); + @SuppressWarnings("restriction") + ITmfContext context = experiment.seekEvent((TmfExperimentLocation) null); + assertNull("seekEvent", context); + experiment.dispose(); + } + + // ------------------------------------------------------------------------ + // seekEvent on ratio + // ------------------------------------------------------------------------ + + public void testSeekEventOnRatio() throws Exception { + + // First event + ITmfContext context = fExperiment.seekEvent(0.0); + assertEquals("Context rank", 0, context.getRank()); + ITmfEvent event = fExperiment.parseEvent(context); + assertEquals("Event timestamp", 1, event.getTimestamp().getValue()); + assertEquals("Context rank", 0, context.getRank()); + + // Middle event + int midTrace = NB_EVENTS / 2; + context = fExperiment.seekEvent(0.5); + assertEquals("Context rank", midTrace, context.getRank()); + event = fExperiment.parseEvent(context); + assertEquals("Event timestamp", midTrace + 1, event.getTimestamp().getValue()); + assertEquals("Context rank", midTrace, context.getRank()); + + // Last event + context = fExperiment.seekEvent(1.0); + assertEquals("Context rank", NB_EVENTS, context.getRank()); + event = fExperiment.parseEvent(context); + assertNull("Event timestamp", event); + assertEquals("Context rank", NB_EVENTS, context.getRank()); + + // Beyond last event + context = fExperiment.seekEvent(1.1); + assertEquals("Context rank", NB_EVENTS, context.getRank()); + event = fExperiment.parseEvent(context); + assertNull("Event timestamp", event); + assertEquals("Context rank", NB_EVENTS, context.getRank()); + + // Negative ratio + context = fExperiment.seekEvent(-0.5); + assertEquals("Context rank", 0, context.getRank()); + event = fExperiment.parseEvent(context); + assertEquals("Event timestamp", 1, event.getTimestamp().getValue()); + assertEquals("Context rank", 0, context.getRank()); + } + + @SuppressWarnings({ "unchecked", "rawtypes" }) + public void testGetLocationRatio() throws Exception { + + // First event + ITmfContext context = fExperiment.seekEvent((ITmfLocation) null); + double ratio = fExperiment.getLocationRatio(context.getLocation()); + context = fExperiment.seekEvent(ratio); + double ratio2 = fExperiment.getLocationRatio(context.getLocation()); + assertEquals("getLocationRatio", ratio, ratio2); + + // Middle event + context = fExperiment.seekEvent(NB_EVENTS / 2); + ratio = fExperiment.getLocationRatio(context.getLocation()); + context = fExperiment.seekEvent(ratio); + ratio2 = fExperiment.getLocationRatio(context.getLocation()); + assertEquals("getLocationRatio", ratio, ratio2); + + // Last event + context = fExperiment.seekEvent(NB_EVENTS - 1); + ratio = fExperiment.getLocationRatio(context.getLocation()); + context = fExperiment.seekEvent(ratio); + ratio2 = fExperiment.getLocationRatio(context.getLocation()); + assertEquals("getLocationRatio", ratio, ratio2); + } + +// @SuppressWarnings({ "unchecked", "rawtypes" }) +// public void testGetCurrentLocation() throws Exception { +// ITmfContext context = fExperiment.seekEvent((ITmfLocation) null); +// ITmfLocation location = fExperiment.getCurrentLocation(); +// assertEquals("getCurrentLocation", location, context.getLocation()); +// } + // ------------------------------------------------------------------------ // seekEvent on rank // ------------------------------------------------------------------------ @@ -531,18 +682,4 @@ public class TmfExperimentTest extends TestCase { assertTrue("isCancelled", request.isCancelled()); } - // ------------------------------------------------------------------------ - // getTimestamp - // ------------------------------------------------------------------------ - - public void testGetTimestamp() throws Exception { - - assertTrue("getTimestamp", fExperiment.getTimestamp( 0).equals(new TmfTimestamp( 1, (byte) -3))); - assertTrue("getTimestamp", fExperiment.getTimestamp( 10).equals(new TmfTimestamp( 11, (byte) -3))); - assertTrue("getTimestamp", fExperiment.getTimestamp( 100).equals(new TmfTimestamp( 101, (byte) -3))); - assertTrue("getTimestamp", fExperiment.getTimestamp(1000).equals(new TmfTimestamp(1001, (byte) -3))); - assertTrue("getTimestamp", fExperiment.getTimestamp(2000).equals(new TmfTimestamp(2001, (byte) -3))); - assertTrue("getTimestamp", fExperiment.getTimestamp(2500).equals(new TmfTimestamp(2501, (byte) -3))); - } - } \ No newline at end of file diff --git a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java rename to org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java index 0787c42222..9e4c97a8af 100644 --- a/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/experiment/TmfMultiTraceExperimentTest.java +++ b/org.eclipse.linuxtools.tmf.core.tests/src/org/eclipse/linuxtools/tmf/core/tests/trace/TmfMultiTraceExperimentTest.java @@ -11,7 +11,7 @@ * Francois Chouinard - Adjusted for new Trace Model *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.tests.experiment; +package org.eclipse.linuxtools.tmf.core.tests.trace; import java.io.File; import java.io.IOException; @@ -28,12 +28,12 @@ import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.TmfEventRequest; import org.eclipse.linuxtools.tmf.core.tests.TmfCoreTestPlugin; import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfExperimentStub; import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub; /** @@ -54,7 +54,7 @@ public class TmfMultiTraceExperimentTest extends TestCase { private static int BLOCK_SIZE = 1000; private static ITmfTrace[] fTraces; - private static TmfExperiment fExperiment; + private static TmfExperimentStub fExperiment; private static byte SCALE = (byte) -3; @@ -95,7 +95,8 @@ public class TmfMultiTraceExperimentTest extends TestCase { super.setUp(); setupTrace(DIRECTORY + File.separator + TEST_STREAM1, DIRECTORY + File.separator + TEST_STREAM2); if (fExperiment == null) { - fExperiment = new TmfExperiment(TmfEvent.class, EXPERIMENT, (ITmfTrace[]) fTraces, TmfTimestamp.ZERO, BLOCK_SIZE, true); + fExperiment = new TmfExperimentStub(EXPERIMENT, (ITmfTrace[]) fTraces, BLOCK_SIZE); + fExperiment.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true); } } diff --git a/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java b/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java new file mode 100644 index 0000000000..93ade8d145 --- /dev/null +++ b/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfExperimentStub.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * 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.tests.stubs.trace; + +import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; +import org.eclipse.linuxtools.tmf.core.event.TmfEvent; +import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; + +/** + * TmfExperimentStub + *

+ * Implement me. Please. + *

+ */ +public class TmfExperimentStub extends TmfExperiment implements ITmfTrace { + + public TmfExperimentStub(String name, ITmfTrace[] traces, int blockSize) { + super(TmfEvent.class, name, traces, blockSize); + setIndexer(new TmfIndexerStub(this, blockSize)); + } + + @Override + public TmfIndexerStub getIndexer() { + return (TmfIndexerStub) super.getIndexer(); + } +} diff --git a/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java b/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java new file mode 100644 index 0000000000..4749da719d --- /dev/null +++ b/org.eclipse.linuxtools.tmf.core.tests/stubs/org/eclipse/linuxtools/tmf/tests/stubs/trace/TmfIndexerStub.java @@ -0,0 +1,39 @@ +/******************************************************************************* + * 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.tests.stubs.trace; + +import java.util.List; + +import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; +import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint; +import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpointIndexer; + +/** + * TmfIndexerStub + *

+ * Implement me. Please. + *

+ */ +public class TmfIndexerStub extends TmfCheckpointIndexer> { + + @SuppressWarnings({ "rawtypes", "unchecked" }) + public TmfIndexerStub(ITmfTrace trace, int blockSize) { + super(trace, blockSize); + } + + public List getCheckpoints() { + return getTraceIndex(); + } + +} diff --git a/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF b/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF index b69fa6cde4..ef1952aa44 100644 --- a/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF +++ b/org.eclipse.linuxtools.tmf.core/META-INF/MANIFEST.MF @@ -12,14 +12,14 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="3.7.0", org.eclipse.core.resources;bundle-version="3.7.100", org.eclipse.linuxtools.ctf.core;bundle-version="0.1.0", org.eclipse.core.filesystem;bundle-version="1.3.100" -Export-Package: org.eclipse.linuxtools.internal.tmf.core;x-friends:="org.eclipse.linuxtools.tmf.core.tests", +Export-Package: org.eclipse.linuxtools.internal.tmf.core;x-internal:=true, org.eclipse.linuxtools.internal.tmf.core.statesystem;x-internal:=true, + org.eclipse.linuxtools.internal.tmf.core.trace;x-internal:=true, org.eclipse.linuxtools.tmf.core, org.eclipse.linuxtools.tmf.core.component, org.eclipse.linuxtools.tmf.core.ctfadaptor, org.eclipse.linuxtools.tmf.core.event, org.eclipse.linuxtools.tmf.core.exceptions, - org.eclipse.linuxtools.tmf.core.experiment, org.eclipse.linuxtools.tmf.core.filter, org.eclipse.linuxtools.tmf.core.filter.model, org.eclipse.linuxtools.tmf.core.filter.xml, diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentCheckpoint.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentCheckpoint.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java index 5c86755fe6..09cd982dc0 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentCheckpoint.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentCheckpoint.java @@ -10,7 +10,7 @@ * Francois Chouinard - Initial API and implementation *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.internal.tmf.core.trace; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; import org.eclipse.linuxtools.tmf.core.trace.TmfContext; diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentContext.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentContext.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java index 5c41718434..095ef713e2 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentContext.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentContext.java @@ -11,7 +11,7 @@ * Francois Chouinard - Put in shape for 1.0 *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.internal.tmf.core.trace; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; @@ -41,7 +41,7 @@ public class TmfExperimentContext extends TmfContext { /** * No last trace read indicator */ - static final int NO_TRACE = -1; + public static final int NO_TRACE = -1; // ------------------------------------------------------------------------ // Attributes diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentLocation.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentLocation.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java index 57ca5d48bb..566758c0ad 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperimentLocation.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfExperimentLocation.java @@ -11,7 +11,7 @@ * Francois Chouinard - Updated as per TMF Trace Model 1.0 *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.internal.tmf.core.trace; import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; import org.eclipse.linuxtools.tmf.core.trace.TmfLocation; diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLegacyExperiment.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLegacyExperiment.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLegacyExperiment.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLegacyExperiment.java index 1d4976fd62..1b1e2df4ac 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLegacyExperiment.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLegacyExperiment.java @@ -10,7 +10,7 @@ * Francois Chouinard - Initial API and implementation *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.internal.tmf.core.trace; import java.util.Collections; import java.util.Vector; @@ -39,6 +39,7 @@ import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpoint; import org.eclipse.linuxtools.tmf.core.trace.TmfContext; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * TmfLegacyExperiment @@ -113,7 +114,7 @@ public class TmfLegacyExperiment extends TmfExperiment { public TmfLegacyExperiment(final Class type, final String id, final ITmfTrace[] traces, final ITmfTimestamp epoch, final int indexPageSize, final boolean preIndexExperiment) { - super(type, id, traces, epoch, indexPageSize, false); + super(type, id, traces, indexPageSize); // fNbEvents = 0; setTimeRange(TmfTimeRange.NULL_RANGE); fEpoch = epoch; @@ -142,8 +143,11 @@ public class TmfLegacyExperiment extends TmfExperiment { * @param traces * @param indexPageSize */ - public TmfLegacyExperiment(final Class type, final String id, final ITmfTrace[] traces, final int indexPageSize) { + public TmfLegacyExperiment(final Class type, final String id, final ITmfTrace[] traces, final int indexPageSize, boolean preIndexExperiment) { this(type, id, traces, TmfTimestamp.ZERO, indexPageSize); + if (preIndexExperiment) { + getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true); + } } /** @@ -746,6 +750,8 @@ public class TmfLegacyExperiment extends TmfExperiment { // } // } + private boolean fIndexing = false; + @SuppressWarnings("unchecked") private void indexExperiment(final boolean waitForCompletion, final int index, final TmfTimeRange timeRange) { diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLocationArray.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java similarity index 98% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLocationArray.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java index f01b56ca35..c781fe0974 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfLocationArray.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/internal/tmf/core/trace/TmfLocationArray.java @@ -11,7 +11,7 @@ * Francois Chouinard - Put in shape for 1.0 *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.internal.tmf.core.trace; import java.util.Arrays; diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfDataProvider.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfDataProvider.java index fcc6e3ee0e..54b37efc06 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfDataProvider.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfDataProvider.java @@ -392,7 +392,7 @@ public abstract class TmfDataProvider extends TmfComponent * @param request * @return an application specific context; null if request can't be serviced */ - public abstract ITmfContext armRequest(ITmfDataRequest request); + protected abstract ITmfContext armRequest(ITmfDataRequest request); // /** // * Return the next event based on the context supplied. The context diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java index 9e33f57f5c..be76fef78c 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/component/TmfEventProvider.java @@ -112,7 +112,7 @@ public abstract class TmfEventProvider extends TmfDataProvi final Boolean[] isFinished = new Boolean[1]; isFinished[0] = Boolean.FALSE; - int startIndex = request.getIndex(); + long startIndex = request.getIndex(); while (!isFinished[0]) { diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfDataRequest.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfDataRequest.java index acf5c26b2d..5f04f6df93 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfDataRequest.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/ITmfDataRequest.java @@ -49,7 +49,7 @@ public interface ITmfDataRequest { /** * @return the index of the first event requested */ - public int getIndex(); + public long getIndex(); /** * @return the number of requested events diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedDataRequest.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedDataRequest.java index 3976c6720e..83da8c17f6 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedDataRequest.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedDataRequest.java @@ -63,7 +63,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param dataType the requested data type * @param index the index of the first event to retrieve */ - public TmfCoalescedDataRequest(Class dataType, int index) { + public TmfCoalescedDataRequest(Class dataType, long index) { this(dataType, index, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } @@ -75,7 +75,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param index the index of the first event to retrieve * @param priority the requested execution priority */ - public TmfCoalescedDataRequest(Class dataType, int index, ExecutionType priority) { + public TmfCoalescedDataRequest(Class dataType, long index, ExecutionType priority) { this(dataType, index, ALL_DATA, DEFAULT_BLOCK_SIZE, priority); } @@ -87,7 +87,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param index the index of the first event to retrieve * @param nbRequested the number of events requested */ - public TmfCoalescedDataRequest(Class dataType, int index, int nbRequested) { + public TmfCoalescedDataRequest(Class dataType, long index, int nbRequested) { this(dataType, index, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } @@ -100,7 +100,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param nbRequested the number of events requested * @param priority the requested execution priority */ - public TmfCoalescedDataRequest(Class dataType, int index, int nbRequested, ExecutionType priority) { + public TmfCoalescedDataRequest(Class dataType, long index, int nbRequested, ExecutionType priority) { this(dataType, index, nbRequested, DEFAULT_BLOCK_SIZE, priority); } @@ -113,7 +113,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param nbRequested the number of events requested * @param blockSize the number of events per block */ - public TmfCoalescedDataRequest(Class dataType, int index, int nbRequested, int blockSize) { + public TmfCoalescedDataRequest(Class dataType, long index, int nbRequested, int blockSize) { super(dataType, index, nbRequested, blockSize, ExecutionType.FOREGROUND); } @@ -127,7 +127,7 @@ public class TmfCoalescedDataRequest extends TmfDataRequest * @param blockSize the number of events per block * @param priority the requested execution priority */ - public TmfCoalescedDataRequest(Class dataType, int index, int nbRequested, int blockSize, ExecutionType priority) { + public TmfCoalescedDataRequest(Class dataType, long index, int nbRequested, int blockSize, ExecutionType priority) { super(dataType, index, nbRequested, blockSize, priority); } diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedEventRequest.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedEventRequest.java index 9a22633158..ad4c0a997d 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedEventRequest.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfCoalescedEventRequest.java @@ -140,7 +140,7 @@ public class TmfCoalescedEventRequest extends TmfCoalescedD * @param blockSize the number of events per block * @param priority the requested execution priority */ - public TmfCoalescedEventRequest(Class dataType, TmfTimeRange range, int index, int nbRequested, int blockSize, ExecutionType priority) { + public TmfCoalescedEventRequest(Class dataType, TmfTimeRange range, long index, int nbRequested, int blockSize, ExecutionType priority) { super(dataType, index, nbRequested, blockSize, priority); fRange = range; diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfDataRequest.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfDataRequest.java index aa99887b35..f3f6941cfd 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfDataRequest.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfDataRequest.java @@ -90,7 +90,7 @@ public abstract class TmfDataRequest implements ITmfDataReq private final Class fDataType; private final ExecutionType fExecType; private final int fRequestId; // A unique request ID - private int fIndex; // The index (rank) of the requested event + private long fIndex; // The index (rank) of the requested event private final int fNbRequested; // The number of requested events (ALL_DATA for all) private final int fBlockSize; // The block size (for BG requests) private int fNbRead; // The number of reads so far @@ -141,7 +141,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param dataType the requested data type * @param index the index of the first event to retrieve */ - public TmfDataRequest(Class dataType, int index) { + public TmfDataRequest(Class dataType, long index) { this(dataType, index, ALL_DATA, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } @@ -153,7 +153,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param index the index of the first event to retrieve * @param priority the requested execution priority */ - public TmfDataRequest(Class dataType, int index, ExecutionType priority) { + public TmfDataRequest(Class dataType, long index, ExecutionType priority) { this(dataType, index, ALL_DATA, DEFAULT_BLOCK_SIZE, priority); } @@ -165,7 +165,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param index the index of the first event to retrieve * @param nbRequested the number of events requested */ - public TmfDataRequest(Class dataType, int index, int nbRequested) { + public TmfDataRequest(Class dataType, long index, int nbRequested) { this(dataType, index, nbRequested, DEFAULT_BLOCK_SIZE, ExecutionType.FOREGROUND); } @@ -178,7 +178,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param nbRequested the number of events requested * @param priority the requested execution priority */ - public TmfDataRequest(Class dataType, int index, int nbRequested, ExecutionType priority) { + public TmfDataRequest(Class dataType, long index, int nbRequested, ExecutionType priority) { this(dataType, index, nbRequested, DEFAULT_BLOCK_SIZE, priority); } @@ -191,7 +191,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param nbRequested the number of events requested * @param blockSize the number of events per block */ - public TmfDataRequest(Class dataType, int index, int nbRequested, int blockSize) { + public TmfDataRequest(Class dataType, long index, int nbRequested, int blockSize) { this(dataType, index, nbRequested, blockSize, ExecutionType.FOREGROUND); } @@ -205,7 +205,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @param blockSize the number of events per block * @param priority the requested execution priority */ - public TmfDataRequest(Class dataType, int index, int nbRequested, int blockSize, ExecutionType priority) { + public TmfDataRequest(Class dataType, long index, int nbRequested, int blockSize, ExecutionType priority) { fRequestId = fRequestNumber++; fDataType = dataType; fIndex = index; @@ -255,7 +255,7 @@ public abstract class TmfDataRequest implements ITmfDataReq * @return the index of the first event requested */ @Override - public int getIndex() { + public long getIndex() { return fIndex; } diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java index 824df46097..cf8a446264 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/request/TmfEventRequest.java @@ -125,7 +125,7 @@ public abstract class TmfEventRequest extends TmfDataReques * @param nbRequested the number of events requested * @param blockSize the number of events per block */ - public TmfEventRequest(Class dataType, TmfTimeRange range, int index, int nbRequested, int blockSize) { + public TmfEventRequest(Class dataType, TmfTimeRange range, long index, int nbRequested, int blockSize) { this(dataType, range, index, nbRequested, blockSize, ExecutionType.FOREGROUND); } @@ -154,7 +154,7 @@ public abstract class TmfEventRequest extends TmfDataReques * @param blockSize the number of events per block * @param priority the requested execution priority */ - public TmfEventRequest(Class dataType, TmfTimeRange range, int index, int nbRequested, int blockSize, ExecutionType priority) { + public TmfEventRequest(Class dataType, TmfTimeRange range, long index, int nbRequested, int blockSize, ExecutionType priority) { super(dataType, index, nbRequested, blockSize, priority); fRange = range; diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentDisposedSignal.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentDisposedSignal.java index 59e392cd1a..7d0496f1c9 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentDisposedSignal.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentDisposedSignal.java @@ -13,7 +13,7 @@ package org.eclipse.linuxtools.tmf.core.signal; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * TmfExperimentDisposedSignal diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentRangeUpdatedSignal.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentRangeUpdatedSignal.java index 433d1f1eeb..90ecf6243a 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentRangeUpdatedSignal.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentRangeUpdatedSignal.java @@ -14,7 +14,7 @@ package org.eclipse.linuxtools.tmf.core.signal; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * TmfExperimentRangeUpdatedSignal diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentSelectedSignal.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentSelectedSignal.java index 406b192dfc..07ad2f0973 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentSelectedSignal.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentSelectedSignal.java @@ -13,7 +13,7 @@ package org.eclipse.linuxtools.tmf.core.signal; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * TmfExperimentSelectedSignal diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentUpdatedSignal.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentUpdatedSignal.java index 6a763a487d..671ee7fad4 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentUpdatedSignal.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/signal/TmfExperimentUpdatedSignal.java @@ -13,7 +13,7 @@ package org.eclipse.linuxtools.tmf.core.signal; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; /** * TmfExperimentUpdatedSignal diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceIndexer.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceIndexer.java index 1f16da37bf..afddaf7898 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceIndexer.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/ITmfTraceIndexer.java @@ -14,9 +14,10 @@ package org.eclipse.linuxtools.tmf.core.trace; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; +import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; /** - * The generic trace indexer in TMF. + * The generic trace indexer in TMF with support for incremental indexing. * * @version 1.0 * @author Francois Chouinard @@ -30,10 +31,39 @@ public interface ITmfTraceIndexer> { * Start an asynchronous index building job and waits for the job completion * if required. Typically, the indexing job sends notifications at regular * intervals to indicate its progress. + *

+ * Example 1: Index a whole trace asynchronously + *

+     * trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, false);
+     * 
+ * Example 2: Index a whole trace synchronously + *
+     * trace.getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, true);
+     * 
+ * Example 3: Index a trace asynchronously, starting at rank 100 + *
+     * trace.getIndexer().buildIndex(100, TmfTimeRange.ETERNITY, false);
+     * 
+ * Example 4: Index a trace asynchronously, starting at rank 100 for events between + * T1 and T2 (inclusive). This is used for incremental indexing. + *
+     * TmfTimeRange range = new TmfTimeRange(T1, T2);
+     * trace.getIndexer().buildIndex(100, range, false);
+     * 
* + * @param offset The offset of the first event to consider + * @param range The time range to consider * @param waitForCompletion */ - public void buildIndex(boolean waitForCompletion); + public void buildIndex(long offset, TmfTimeRange range, boolean waitForCompletion); + + /** + * Indicates that the indexer is busy indexing the trace. + * Will always return false if the indexing is done synchronously. + * + * @return the state of the indexer (indexing or not) + */ + public boolean isIndexing(); /** * Adds an entry to the trace index. diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java index d6b62f86ca..5ab1322c66 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfCheckpointIndexer.java @@ -60,6 +60,9 @@ public class TmfCheckpointIndexer> implements ITm // The interval between checkpoints private final int fCheckpointInterval; + // The event trace to index + private boolean fIsIndexing; + /** * The trace index. It is composed of checkpoints taken at intervals of * fCheckpointInterval events. @@ -90,6 +93,19 @@ public class TmfCheckpointIndexer> implements ITm fTrace = trace; fCheckpointInterval = interval; fTraceIndex = new ArrayList(); + fIsIndexing = false; + } + + // ------------------------------------------------------------------------ + // ITmfTraceIndexer - isIndexing + // ------------------------------------------------------------------------ + + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTraceIndexer#isIndexing() + */ + @Override + public boolean isIndexing() { + return fIsIndexing; } // ------------------------------------------------------------------------ @@ -97,16 +113,25 @@ public class TmfCheckpointIndexer> implements ITm // ------------------------------------------------------------------------ /* (non-Javadoc) - * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#indexTrace(boolean) * * The index is a list of contexts that point to events at regular interval * (rank-wise) in the trace. After it is built, the index can be used to * quickly access any event by rank or timestamp (using seekIndex()). * * The index is built simply by reading the trace + * + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTraceIndexer#buildIndex(long, org.eclipse.linuxtools.tmf.core.event.TmfTimeRange, boolean) */ @Override - public void buildIndex(final boolean waitForCompletion) { + public void buildIndex(final long offset, final TmfTimeRange range, final boolean waitForCompletion) { + + // Don't do anything if we are already indexing + synchronized (fTraceIndex) { + if (fIsIndexing) { + return; + } + fIsIndexing = true; + } // The monitoring job final Job job = new Job("Indexing " + fTrace.getName() + "...") { //$NON-NLS-1$ //$NON-NLS-2$ @@ -130,8 +155,8 @@ public class TmfCheckpointIndexer> implements ITm // Build a background request for all the trace data. The index is // updated as we go by readNextEvent(). - final ITmfEventRequest request = new TmfEventRequest(ITmfEvent.class, TmfTimeRange.ETERNITY, - TmfDataRequest.ALL_DATA, fCheckpointInterval, ITmfDataRequest.ExecutionType.BACKGROUND) + final ITmfEventRequest request = new TmfEventRequest(ITmfEvent.class, + range, offset, TmfDataRequest.ALL_DATA, fCheckpointInterval, ITmfDataRequest.ExecutionType.BACKGROUND) { private ITmfTimestamp startTime = null; private ITmfTimestamp lastTime = null; @@ -162,6 +187,7 @@ public class TmfCheckpointIndexer> implements ITm public void handleCompleted() { job.cancel(); super.handleCompleted(); + fIsIndexing = false; } private void updateTraceStatus() { diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperiment.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java similarity index 74% rename from org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperiment.java rename to org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java index 3c3d689933..ec08f6c9be 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/experiment/TmfExperiment.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfExperiment.java @@ -11,18 +11,19 @@ * Francois Chouinard - Updated as per TMF Trace Model 1.0 *******************************************************************************/ -package org.eclipse.linuxtools.tmf.core.experiment; +package org.eclipse.linuxtools.tmf.core.trace; import org.eclipse.core.resources.IFile; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentContext; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfExperimentLocation; +import org.eclipse.linuxtools.internal.tmf.core.trace.TmfLocationArray; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; 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.TmfEndSynchSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentDisposedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; @@ -30,15 +31,9 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfTraceUpdatedSignal; -import org.eclipse.linuxtools.tmf.core.trace.ITmfContext; -import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser; -import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation; -import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; -import org.eclipse.linuxtools.tmf.core.trace.TmfCheckpointIndexer; -import org.eclipse.linuxtools.tmf.core.trace.TmfTrace; /** - * TmfExperiment presents a time-ordered, unified view of a set of TmfTraces + * TmfExperiment presents a time-ordered, unified view of a set of ITmfTrace:s * that are part of a tracing experiment. */ public class TmfExperiment extends TmfTrace implements ITmfEventParser { @@ -47,65 +42,58 @@ public class TmfExperiment extends TmfTrace implements I // Constants // ------------------------------------------------------------------------ - // The index page size - private static final int DEFAULT_INDEX_PAGE_SIZE = 5000; + /** + * The default index page size + */ + public static final int DEFAULT_INDEX_PAGE_SIZE = 5000; // ------------------------------------------------------------------------ // Attributes // ------------------------------------------------------------------------ - // The currently selected experiment + /** + * The currently selected experiment (null if none) + */ protected static TmfExperiment fCurrentExperiment = null; - // The set of traces that constitute the experiment + /** + * The set of traces that constitute the experiment + */ protected ITmfTrace[] fTraces; - // Flag to initialize only once - protected boolean fInitialized = false; - - // The experiment bookmarks file - protected IFile fBookmarksFile; + /** + * The set of traces that constitute the experiment + */ + private boolean fInitialized = false; -// // The properties resource -// private IResource fResource; + /** + * The experiment bookmarks file + */ + private IFile fBookmarksFile; // ------------------------------------------------------------------------ - // Constructors + // Construction // ------------------------------------------------------------------------ - @Override - public boolean validate(final IProject project, final String path) { - return true; - } - - @Override - public void initTrace(final IResource resource, final String path, final Class type) { -// fResource = resource; - try { - super.initTrace(resource, path, type); - } catch (TmfTraceException e) { - e.printStackTrace(); - } + /** + * @param type + * @param id + * @param traces + * @throws TmfTraceException + */ + public TmfExperiment(final Class type, final String id, final ITmfTrace[] traces) { + this(type, id, traces, DEFAULT_INDEX_PAGE_SIZE); } /** * @param type * @param id * @param traces - * @param epoch * @param indexPageSize * @throws TmfTraceException */ - public TmfExperiment(final Class type, final String id, final ITmfTrace[] traces, final ITmfTimestamp epoch, - final int indexPageSize) - { - this(type, id, traces, TmfTimestamp.ZERO, indexPageSize, false); - } - @SuppressWarnings({ "unchecked", "rawtypes" }) - public TmfExperiment(final Class type, final String path, final ITmfTrace[] traces, final ITmfTimestamp epoch, - final int indexPageSize, final boolean preIndexExperiment) - { + public TmfExperiment(final Class type, final String path, final ITmfTrace[] traces, final int indexPageSize) { setCacheSize(indexPageSize); setStreamingInterval(0); setIndexer(new TmfCheckpointIndexer(this, indexPageSize)); @@ -118,31 +106,6 @@ public class TmfExperiment extends TmfTrace implements I fTraces = traces; setTimeRange(TmfTimeRange.NULL_RANGE); - - if (preIndexExperiment) { - getIndexer().buildIndex(true); - } - } - - /** - * @param type - * @param id - * @param traces - * @throws TmfTraceException - */ - public TmfExperiment(final Class type, final String id, final ITmfTrace[] traces) { - this(type, id, traces, TmfTimestamp.ZERO, DEFAULT_INDEX_PAGE_SIZE); - } - - /** - * @param type - * @param id - * @param traces - * @param indexPageSize - * @throws TmfTraceException - */ - public TmfExperiment(final Class type, final String id, final ITmfTrace[] traces, final int indexPageSize) { - this(type, id, traces, TmfTimestamp.ZERO, indexPageSize); } /** @@ -154,8 +117,10 @@ public class TmfExperiment extends TmfTrace implements I final TmfExperimentDisposedSignal signal = new TmfExperimentDisposedSignal(this, this); broadcast(signal); - if (fCurrentExperiment == this) + + if (fCurrentExperiment == this) { fCurrentExperiment = null; + } if (fTraces != null) { for (final ITmfTrace trace : fTraces) @@ -165,20 +130,53 @@ public class TmfExperiment extends TmfTrace implements I super.dispose(); } + // ------------------------------------------------------------------------ + // ITmfTrace - Initializers + // ------------------------------------------------------------------------ + + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#validate(org.eclipse.core.resources.IProject, java.lang.String) + */ + @Override + public boolean validate(final IProject project, final String path) { + return true; + } + + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#initTrace(org.eclipse.core.resources.IResource, java.lang.String, java.lang.Class) + */ + @Override + public void initTrace(final IResource resource, final String path, final Class type) { + } + // ------------------------------------------------------------------------ // Accessors // ------------------------------------------------------------------------ + /** + * Selects the current, framework-wide, experiment + * + * @param experiment das experiment + */ public static void setCurrentExperiment(final TmfExperiment experiment) { - if (fCurrentExperiment != null && fCurrentExperiment != experiment) + if (fCurrentExperiment != null && fCurrentExperiment != experiment) { fCurrentExperiment.dispose(); + } fCurrentExperiment = experiment; } + /** + * @return das experiment + */ public static TmfExperiment getCurrentExperiment() { return fCurrentExperiment; } + /** + * Get the list of traces. Handle with care... + * + * @return the experiment traces + */ public ITmfTrace[] getTraces() { return fTraces; } @@ -196,46 +194,50 @@ public class TmfExperiment extends TmfTrace implements I return (event != null) ? event.getTimestamp() : null; } - // ------------------------------------------------------------------------ - // TmfProvider - // ------------------------------------------------------------------------ - - @Override - public ITmfContext armRequest(final ITmfDataRequest request) { - ITmfTimestamp timestamp = (request instanceof ITmfEventRequest) ? ((ITmfEventRequest) request).getRange().getStartTime() : null; - if (TmfTimestamp.BIG_BANG.equals(timestamp) || request.getIndex() > 0) { - timestamp = null; - } - - ITmfContext context = null; - if (timestamp != null) { // Seek by timestamp - context = seekEvent(timestamp); - ((ITmfEventRequest) request).setStartIndex((int) context.getRank()); - } else { // Seek by rank - context = seekEvent(request.getIndex()); - } + /** + * Set the file to be used for bookmarks on this experiment + * + * @param file the bookmarks file + */ + public void setBookmarksFile(final IFile file) { + fBookmarksFile = file; + } - return context; + /** + * Get the file used for bookmarks on this experiment + * + * @return the bookmarks file or null if none is set + */ + public IFile getBookmarksFile() { + return fBookmarksFile; } // ------------------------------------------------------------------------ // ITmfTrace trace positioning // ------------------------------------------------------------------------ - // Returns a brand new context based on the location provided - // and initializes the event queues + /* (non-Javadoc) + * + * Returns a brand new context based on the location provided and + * initializes the event queues + * + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#seekEvent(org.eclipse.linuxtools.tmf.core.trace.ITmfLocation) + */ @Override - public synchronized TmfExperimentContext seekEvent(final ITmfLocation location) { + public synchronized ITmfContext seekEvent(final ITmfLocation location) { // Validate the location - if (location != null && !(location instanceof TmfExperimentLocation)) + if (location != null && !(location instanceof TmfExperimentLocation)) { return null; // Throw an exception? - - if (fTraces == null) + } + // Make sure we have something to read from + if (fTraces == null) { return null; + } // Instantiate the location - final TmfExperimentLocation expLocation = (location == null) ? new TmfExperimentLocation(new TmfLocationArray( - new ITmfLocation[fTraces.length])) : (TmfExperimentLocation) location.clone(); + final TmfExperimentLocation expLocation = (location == null) + ? new TmfExperimentLocation(new TmfLocationArray(new ITmfLocation[fTraces.length])) + : (TmfExperimentLocation) location.clone(); // Create and populate the context's traces contexts final TmfExperimentContext context = new TmfExperimentContext(new ITmfContext[fTraces.length]); @@ -252,22 +254,32 @@ public class TmfExperiment extends TmfTrace implements I context.setLocation(expLocation); context.setLastTrace(TmfExperimentContext.NO_TRACE); context.setRank(ITmfContext.UNKNOWN_RANK); - return context; + return (ITmfContext) context; } + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#seekEvent(double) + */ @Override public ITmfContext seekEvent(final double ratio) { final ITmfContext context = seekEvent((long) (ratio * getNbEvents())); return context; } + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getLocationRatio(org.eclipse.linuxtools.tmf.core.trace.ITmfLocation) + */ @Override public double getLocationRatio(final ITmfLocation location) { - if (location instanceof TmfExperimentLocation) + if (location instanceof TmfExperimentLocation) { return (double) seekEvent(location).getRank() / getNbEvents(); - return 0; + } + return 0.0; } + /* (non-Javadoc) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getCurrentLocation() + */ @Override public ITmfLocation getCurrentLocation() { ITmfLocation[] locations = new ITmfLocation[fTraces.length]; @@ -277,8 +289,12 @@ public class TmfExperiment extends TmfTrace implements I return new TmfExperimentLocation(new TmfLocationArray(locations)); } + // ------------------------------------------------------------------------ + // ITmfTrace trace positioning + // ------------------------------------------------------------------------ + /* (non-Javadoc) - * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#readNextEvent(org.eclipse.linuxtools.tmf.core.trace.ITmfContext) + * @see org.eclipse.linuxtools.tmf.core.trace.TmfTrace#getNext(org.eclipse.linuxtools.tmf.core.trace.ITmfContext) */ @Override public synchronized T getNext(final ITmfContext context) { @@ -301,15 +317,16 @@ public class TmfExperiment extends TmfTrace implements I } /* (non-Javadoc) - * @see org.eclipse.linuxtools.tmf.trace.ITmfTrace#parseEvent(org.eclipse.linuxtools .tmf.trace.TmfContext) + * @see org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser#parseEvent(org.eclipse.linuxtools.tmf.core.trace.ITmfContext) */ @SuppressWarnings("unchecked") @Override public T parseEvent(ITmfContext context) { // Validate the context - if (!(context instanceof TmfExperimentContext)) + if (!(context instanceof TmfExperimentContext)) { return null; // Throw an exception? + } TmfExperimentContext expContext = (TmfExperimentContext) context; @@ -354,12 +371,14 @@ public class TmfExperiment extends TmfTrace implements I } // ------------------------------------------------------------------------ - // Indexing + // Streaming support // ------------------------------------------------------------------------ private synchronized void initializeStreamingMonitor() { - if (fInitialized) + + if (fInitialized) { return; + } fInitialized = true; if (getStreamingInterval() == 0) { @@ -380,14 +399,14 @@ public class TmfExperiment extends TmfTrace implements I return; } - final Thread thread = new Thread("Streaming Monitor for experiment " + getName()) { ////$NON-NLS-1$ + final Thread thread = new Thread("Streaming Monitor for experiment " + getName()) { //$NON-NLS-1$ private ITmfTimestamp safeTimestamp = null; private TmfTimeRange timeRange = null; @Override public void run() { while (!fExecutor.isShutdown()) { - if (!isIndexingBusy()) { + if (!getIndexer().isIndexing()) { ITmfTimestamp startTimestamp = TmfTimestamp.BIG_CRUNCH; ITmfTimestamp endTimestamp = TmfTimestamp.BIG_BANG; for (final ITmfTrace trace : fTraces) { @@ -418,9 +437,7 @@ public class TmfExperiment extends TmfTrace implements I thread.start(); } - /* - * (non-Javadoc) - * + /* (non-Javadoc) * @see org.eclipse.linuxtools.tmf.trace.ITmfTrace#getStreamingInterval() */ @Override @@ -431,42 +448,17 @@ public class TmfExperiment extends TmfTrace implements I return interval; } - /* - * The experiment holds the globally ordered events of its set of traces. It - * is expected to provide access to each individual event by index i.e. it - * must be possible to request the Nth event of the experiment. - * - * The purpose of the index is to keep the information needed to rapidly - * restore the traces contexts at regular intervals (every INDEX_PAGE_SIZE - * event). - */ - -// protected int fIndexPageSize; - protected boolean fIndexing = false; -// protected TmfTimeRange fIndexingPendingRange = TmfTimeRange.NULL_RANGE; - - private Integer fEndSynchReference; - - protected boolean isIndexingBusy() { - return fIndexing; - } - - -// protected void notifyListeners() { -// broadcast(new TmfExperimentUpdatedSignal(this, this)); -// } - // ------------------------------------------------------------------------ // Signal handlers // ------------------------------------------------------------------------ - @TmfSignalHandler - public void traceUpdated(final TmfTraceUpdatedSignal signal) { - if (signal.getTrace() == this) { - broadcast(new TmfExperimentUpdatedSignal(this, this)); - } - } + private Integer fEndSynchReference; + /** + * Signal handler for the TmfExperimentSelectedSignal signal + * + * @param signal + */ @TmfSignalHandler public void experimentSelected(final TmfExperimentSelectedSignal signal) { final TmfExperiment experiment = signal.getExperiment(); @@ -476,6 +468,11 @@ public class TmfExperiment extends TmfTrace implements I } } + /** + * Signal handler for the TmfEndSynchSignal signal + * + * @param signal + */ @TmfSignalHandler public void endSync(final TmfEndSynchSignal signal) { if (fEndSynchReference != null && fEndSynchReference.intValue() == signal.getReference()) { @@ -484,48 +481,28 @@ public class TmfExperiment extends TmfTrace implements I } } - @TmfSignalHandler - public void experimentUpdated(final TmfExperimentUpdatedSignal signal) { - } - - @TmfSignalHandler - public void experimentRangeUpdated(final TmfExperimentRangeUpdatedSignal signal) { - if (signal.getExperiment() == this) { - getIndexer().buildIndex(false); - } - } - - @Override - public String getPath() { - // TODO Auto-generated method stub - return null; - } - /** - * Set the file to be used for bookmarks on this experiment + * Signal handler for the TmfTraceUpdatedSignal signal * - * @param file the bookmarks file + * @param signal */ - public void setBookmarksFile(final IFile file) { - fBookmarksFile = file; + @TmfSignalHandler + public void traceUpdated(final TmfTraceUpdatedSignal signal) { + if (signal.getTrace() == this) { + broadcast(new TmfExperimentUpdatedSignal(this, this)); + } } /** - * Get the file used for bookmarks on this experiment + * Signal handler for the TmfExperimentRangeUpdatedSignal signal * - * @return the bookmarks file or null if none is set + * @param signal */ - public IFile getBookmarksFile() { - return fBookmarksFile; + @TmfSignalHandler + public void experimentRangeUpdated(final TmfExperimentRangeUpdatedSignal signal) { + if (signal.getExperiment() == this) { + getIndexer().buildIndex(getNbEvents(), signal.getRange(), false); + } } -// /* -// * (non-Javadoc) -// * -// * @see org.eclipse.linuxtools.tmf.core.trace.ITmfTrace#getResource() -// */ -// @Override -// public IResource getResource() { -// return fResource; -// } } diff --git a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java index fa637436b9..6e04c189c4 100644 --- a/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java +++ b/org.eclipse.linuxtools.tmf.core/src/org/eclipse/linuxtools/tmf/core/trace/TmfTrace.java @@ -108,7 +108,7 @@ public abstract class TmfTrace extends TmfEventProvider * @throws TmfTraceException */ protected TmfTrace(final IResource resource, final Class type, final String path, final int cacheSize) throws TmfTraceException { - this(resource, type, path, cacheSize, 0, null); + this(resource, type, path, cacheSize, 0); } /** @@ -243,7 +243,7 @@ public abstract class TmfTrace extends TmfEventProvider * @param waitForCompletion index synchronously (true) or not (false) */ protected void indexTrace(boolean waitForCompletion) { - getIndexer().buildIndex(waitForCompletion); + getIndexer().buildIndex(0, TmfTimeRange.ETERNITY, waitForCompletion); } // ------------------------------------------------------------------------ @@ -541,7 +541,7 @@ public abstract class TmfTrace extends TmfEventProvider * @see org.eclipse.linuxtools.tmf.core.component.TmfDataProvider#armRequest(org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest) */ @Override - public ITmfContext armRequest(final ITmfDataRequest request) { + protected ITmfContext armRequest(final ITmfDataRequest request) { if (request instanceof ITmfEventRequest && !TmfTimestamp.BIG_BANG.equals(((ITmfEventRequest) request).getRange().getStartTime()) && request.getIndex() == 0) diff --git a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java index 56a2584e11..d49139b262 100644 --- a/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java +++ b/org.eclipse.linuxtools.tmf.ui.tests/src/org/eclipse/linuxtools/tmf/ui/tests/views/uml2sd/loader/Uml2SDTestFacility.java @@ -23,10 +23,10 @@ import org.eclipse.core.runtime.Path; import org.eclipse.core.runtime.jobs.Job; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.trace.ITmfEventParser; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.tests.stubs.trace.TmfTraceStub; import org.eclipse.linuxtools.tmf.ui.tests.uml2sd.trace.TmfUml2SDTestTrace; import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java index b8071d315e..9d4df029c1 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenExperimentHandler.java @@ -28,10 +28,10 @@ import org.eclipse.jface.viewers.TreeSelection; import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.editors.EventsViewEditor; import org.eclipse.linuxtools.tmf.ui.editors.TmfEditorInput; import org.eclipse.linuxtools.tmf.ui.editors.TmfEventsEditor; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java index c3e5701092..120a4067da 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/internal/tmf/ui/project/handlers/OpenTraceHandler.java @@ -28,10 +28,10 @@ import org.eclipse.jface.viewers.TreeSelection; import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.TmfTrace; import org.eclipse.linuxtools.tmf.ui.editors.EventsViewEditor; import org.eclipse.linuxtools.tmf.ui.editors.TmfEditorInput; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/EventsViewEditor.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/EventsViewEditor.java index b0e163afd2..39a763542f 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/EventsViewEditor.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/EventsViewEditor.java @@ -23,10 +23,10 @@ import org.eclipse.linuxtools.internal.tmf.ui.project.handlers.Messages; import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.TmfTrace; import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement; import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java index 07bf39a708..07a933ad80 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/editors/TmfEventsEditor.java @@ -37,10 +37,10 @@ import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; import org.eclipse.linuxtools.tmf.core.exceptions.TmfTraceException; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfTraceSelectedSignal; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.trace.TmfTrace; import org.eclipse.linuxtools.tmf.ui.project.model.ITmfProjectModelElement; import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java index 2911c83e17..3bba1dd61b 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/project/wizards/CopyExperimentDialog.java @@ -28,7 +28,7 @@ import org.eclipse.jface.dialogs.IDialogConstants; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.linuxtools.internal.tmf.ui.TmfUiPlugin; import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentElement; import org.eclipse.linuxtools.tmf.ui.project.model.TmfExperimentFolder; import org.eclipse.linuxtools.tmf.ui.project.model.TmfProjectElement; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/environment/TmfEnvironmentView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/environment/TmfEnvironmentView.java index 5c3e43a2a1..21e5465391 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/environment/TmfEnvironmentView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/environment/TmfEnvironmentView.java @@ -5,10 +5,10 @@ import java.util.ArrayList; import org.eclipse.linuxtools.tmf.core.ctfadaptor.CtfTmfTrace; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/events/TmfEventsView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/events/TmfEventsView.java index e208b1d4a9..e07334eaa0 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/events/TmfEventsView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/events/TmfEventsView.java @@ -33,11 +33,11 @@ import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomTxtTrace; import org.eclipse.linuxtools.internal.tmf.ui.parsers.custom.CustomXmlTrace; import org.eclipse.linuxtools.tmf.core.TmfCommonConstants; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentDisposedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.project.model.TmfTraceType; import org.eclipse.linuxtools.tmf.ui.viewers.events.TmfEventsTable; import org.eclipse.linuxtools.tmf.ui.views.TmfView; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java index 7db1d481e2..1a9c7f0857 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/histogram/HistogramView.java @@ -21,7 +21,6 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; @@ -31,6 +30,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalManager; import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java index 39ce347644..183c34c7f1 100755 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/statistics/TmfStatisticsView.java @@ -21,7 +21,6 @@ import org.eclipse.jface.viewers.Viewer; import org.eclipse.jface.viewers.ViewerComparator; import org.eclipse.linuxtools.tmf.core.event.ITmfEvent; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest.ExecutionType; import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest; @@ -32,6 +31,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentRangeUpdatedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfExperimentSelectedSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.trace.ITmfTrace; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.ui.views.TmfView; import org.eclipse.linuxtools.tmf.ui.views.statistics.model.AbsTmfStatisticsTree; import org.eclipse.linuxtools.tmf.ui.views.statistics.model.ITmfColumnDataProvider; diff --git a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java index 8d8331398c..5fbee3ea94 100644 --- a/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java +++ b/org.eclipse.linuxtools.tmf.ui/src/org/eclipse/linuxtools/tmf/ui/views/uml2sd/loader/TmfUml2SDSyncLoader.java @@ -31,7 +31,6 @@ import org.eclipse.linuxtools.tmf.core.event.ITmfEventField; import org.eclipse.linuxtools.tmf.core.event.ITmfTimestamp; import org.eclipse.linuxtools.tmf.core.event.TmfTimeRange; import org.eclipse.linuxtools.tmf.core.event.TmfTimestamp; -import org.eclipse.linuxtools.tmf.core.experiment.TmfExperiment; import org.eclipse.linuxtools.tmf.core.request.ITmfDataRequest; import org.eclipse.linuxtools.tmf.core.request.ITmfEventRequest; import org.eclipse.linuxtools.tmf.core.request.TmfDataRequest; @@ -42,6 +41,7 @@ import org.eclipse.linuxtools.tmf.core.signal.TmfRangeSynchSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignal; import org.eclipse.linuxtools.tmf.core.signal.TmfSignalHandler; import org.eclipse.linuxtools.tmf.core.signal.TmfTimeSynchSignal; +import org.eclipse.linuxtools.tmf.core.trace.TmfExperiment; import org.eclipse.linuxtools.tmf.core.uml2sd.ITmfSyncSequenceDiagramEvent; import org.eclipse.linuxtools.tmf.core.uml2sd.TmfSyncSequenceDiagramEvent; import org.eclipse.linuxtools.tmf.ui.views.uml2sd.SDView; -- 2.34.1